美文网首页
isKindOfClass和isMemberOfClass之间的

isKindOfClass和isMemberOfClass之间的

作者: 柠檬草YF | 来源:发表于2018-09-25 15:00 被阅读25次

1.isKindOfClass是判断对象是否是一个类的实例,或者是该类祖先类的实例;
2.isMemberOfClass只能用来判断前者,不能用来判断后者

@interface SuperClass : NSObject
@end
@interface ChildClass : NSObject
@end
SuperClass *superOb = [[SuperClass alloc]init];
ChildClass * childOb = [[ChildClass alloc]init];

[superOb isKindOfClass:[SuperClass Class]]; // YES
[superOb isKindOfClass:[ChildClass Class]]; // NO

[childOb isKindOfClass:[SuperClass Class]]; // YES
[childOb isKindOfClass:[ChildClass Class]]; // YES

[superOb isMemberOfClass:[SuperClass Class]]; // YES
[superOb isMemberOfClass:[ChildClass Class]]; // NO

[childOb isMemberOfClass:[SuperClass Class]]; // NO
[childOb isMemberOfClass:[ChildClass Class]]; // YES

相关文章

网友评论

      本文标题:isKindOfClass和isMemberOfClass之间的

      本文链接:https://www.haomeiwen.com/subject/drkloftx.html