23.动态类型检测方法 返回值都是bool类型的
(1)判断是否是这个类,或这个类的子类的实例
[对象 isKindOfClass:类对象];
(2) 判断是否是这个类的实例,不管是不是子类的实例
[对象 isMemberOfClass:类对象];
(3)判断是否是指定类的子类
[对象 isSubclassOfclass:[Animal class]]; 要用[Animal class] 而不是Animal
(4)判断能否响应指定的方法
[对象 respondsToSelector:方法的SEL]; 把eat包装成SEL @selector(eat)
如果能响应的话,通过-(id)performSelector:@selector(方法名)来响应 |
|