动态类型检测方法的总结: 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"
|