动态类型检测方法的总结:
1.判断类型
1)判断某个对象是否是类的实例对象,或者子类的实例对象
isKindOfClass(对象和类)
BOOL isKind = [ani isKindOfClass:[Animal class]];(对象和类)
2)判断是否是这个类的实例,不管是否是这个类的子类的实例
isMemberOf(对象和类)
3)判断是否是子类的实例
isSubClassOfClass
BOOL isKind = [Dog isSubClassOfClass:[Animal class]];(类和类)
2.方法响应的检测
1)判断对象能否响应指定的方法
respondsToSelector:方法的SEL
2)判断类能否响应指定的方法
instanceResponseToSelector:方法的SEL
3.响应方法
无参:performSelector:SEL
有一个参数:performSelector:SEL withObject:@"参数"
有两个参数:performSelector:SEL withObject:@"参数1" withObject:@"参数2"
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |