将OC文件转为C++后,可以看到其中,
NSObject 的底层实现为:
struct NSObject_IMPL {
Class isa;
};
其本质为结构体,包含一个isa成员变量,类型为Class。
Class 的底层实现为 :
typedef struct objc_class *Class;
其本质为一个结构体类型(struct objc_class *)指针。
自定义类Person,包含5个int类型的成员变量age,
其底层实现为:
struct Person_IMPL {
struct NSObject_IMPL NSObject_IVARS;
int _age;
int _age1;
int _age2;
int _age3;
int _age4;
};
其本质为结构体,包含一个父类NSObject_IMPL的结构体,和它的成员变量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)