isKindOfClass和isMemberOfClass之间的

2018-09-25  本文已影响25人  柠檬草YF

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
上一篇 下一篇

猜你喜欢

热点阅读