O-C相关-10-动态类型检查

时间:2021-12-15 17:38:44

10-动态类型检查

1、动态绑定

1)OC 中方法的调用不由编译器决定,而由运行时决定

2)OC 中没有方法调用,只有消息接收. 一般称消息为选择器

2、动态类型检查

对象在运行时获得类型的能力称为内省,如果在代码中想知道对象是否具有指定方法,可以使用:

1)判断类型或父类类型

-(BOOL)isKindOfClass:(Class)Obj

判断一个对象是不是有某个类或其子类实例化出来的对象

2)仅判断类型

-(BOOL)isMemberOfClass:(Class)obj

判断对象是不是被某个类实例化出来的

3)判断是否为子类

+(BOOL)isSubclassOfClass:(Class)obj

判断某一个类是否是一个类的子类

4)判断是否可以响应

-(BOOL)respondsToSelector:(SEL)selector

5)判断是否有这个方法

-(BOOL)instancesRespondToSelector:(SEL)selector

6)响应方法

-(id)performSelector:(SEL)selector

7)响应带有参数的方法

-(id)performSelector:(SEL)selectorwithObject:(id)obj

版权声明:本文为博主原创文章,未经博主允许不得转载。