iOS底层原理探索-对象的本质

2021-04-27  本文已影响0人  十年开发初学者

在探索OC对象本质之前,先了解一下clang

Clang
对象本质
@interface Animal : NSObject
@property (nonatomic, copy) NSString *type;
@property (nonatomic, assign) NSInteger *age;
@end

@implementation Animal
@end
clang -rewrite-objc main.m -o main.cpp
struct NSObject_IMPL {
    Class isa;
};

struct Animal_IMPL {
        
    struct NSObject_IMPL NSObject_IVARS;
    NSString *_type;
    NSInteger *_age;
};
探索OC中的set方法
main.cpp文件中的set方法

由此我们得出:
所有的set方法都会调用objc_setProperty方法——》reallySetProperty方法

上一篇 下一篇

猜你喜欢

热点阅读