self与super
2019-08-05 本文已影响0人
水无月之痕
self为实例对象:[self class]\object_getClass(self), 返回都是本类的类对象;object_getClass([self class])返回都是本类的元类。
self为类对象:[self class]返回都是自身self,即为本类的类对象;object_getClass(self) 等于 object_getClass([self class])
//NSObject类实现
+ (Class)class {
return self;
}
- (Class)class {
return object_getClass(self);
}
元类、类,都是对象,但是仅且只有一个,因为具有isa指针,isa指针是指向类(is a class instance)
![](https://img.haomeiwen.com/i5078492/ab09e9ba05067e65.png)
运行时创建类/方法/变量:
https://blog.csdn.net/chenxi506343891/article/details/73496609