1. -(Bool)isMemberOfClass:(Class)cls
解释: 消息接收者的class是不是传入的class
2. -(Bool)isKindOfClass:(Class)cls
解释:for循环遍历查找,先看自己的class是不是与传入的class相同,如果不同,查找自己的父类是否与传入的class相同,如果相同,返回YES,如果依然不同,返回NO;
概括
消息接受者或消息接收者的父类是否属于class,换言之,消息接收者是否属于传入的class或class的子类。
3. +(Bool)isMemberOfClass:(Class)cls
解释: 消息接收者的元类对象是不是传入的class
3. +(Bool)isKindOfClass:(Class)cls
解释: 消息接收者的元类对象是否属于传入的class或class的子类
4.面试题
解析:
1.NSObject的元类属于NSObject的子类(NSObject元类的父类为NSObject)。
2.NSObject的元类不是NSObject类。
3.MJPerson的元类不属于MJPerson类。
4.MJPerson的元类不是MJPerson类。
面试题
网友评论