- (BOOL)isKindOfClass:(Class)cls方法内部,会先去获得object_getClass的类,而object_getClass的源码实现是去调用当前类的obj->getIsa(),最后在ISA()方法中获得meta class的指针。
接着在isKindOfClass中有一个循环,先判断class是否等于meta class,不等就继续循环判断是否等于super class,不等再继续取super class,如此循环下去。
isMemberOfClass的源码实现是拿到自己的isa指针和自己比较,是否相等。
对象,类,元类之间的关系
最新推荐文章于 2022-10-17 09:40:46 发布