- isKindOfClass: / isMemberOfClas
- isKindOfClass: & isMemberOfClas
- iOS isKindOfClass,isMemberOfClas
- iOS isKindOfClass、isMemberOfClas
- iOS isKindOfClass isMemberOfClas
- iOS中isKindOfClass,isMemberOfClas
- iOS isKindOfClass&isMemberOfClas
- iOS isKindOfClass与isMemberOfClas
- iOS中isKindOfClass和isMemberOfClas
- iOS中isKindOfClass和isMemberOfClas
如果多个子类继承一个父类,在某些场景中可能遇到需要判断子类的类型
1、已知父类 Father
,子类 Son1
、Son2
Son1 * s1 = [[Son1 alloc] init];
[s1 isKindOfClass:[Father class]] //返回 YES
[s1 isKindOfClass:[Son2 class]] //返回 YES
[s1 isMemberOfClass:[Father class]] //返回 NO
[s1 isMemberOfClass:[Son2 class]] //返回 NO
[s1 isMemberOfClass:[Son1 class]] //返回 YES
-
isKindOfClass:
对比的是该子类的父类类型 -
isMemberOfClass:
对比的是该子类的类型
2、下面打印的是什么

- 答案:两个都是子类的类型
- 这里的
super
仅仅是一个编译指示器,并不是一个对象,[super class]
的本质还是让当前对象调用父类的class
方法。
网友评论