O-C相关-10-动态类型检查
2015-08-09 22:25
417 查看
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
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
相关文章推荐
- jsoup替换网页中的链接demo
- 最近的一些小感慨
- Leetcode: Implement Stack using Queues
- Hexagon处理器的条件执行机制
- C# 交错数组
- Stack-栈基础
- (4.1.28)android之网络通信:HTTP、Socket、SOAP
- 用Swift封装图片折叠效果
- CUDA学习笔记
- hdoj 4006 The kth great number【优先队列】
- [第2章]多线程:GCD的简单使用(2)——调度组
- O-C相关-09-id 类型与应用
- 《中国人的性格》读书笔记
- 【Python】内置函数清单
- O-C相关-09-id 类型与应用
- Owin
- (一)SQLite与SQL语句基础
- swift - The Prototype Pattern
- (一)SQLite与SQL语句基础
- 我适合慢思考