Objective-C Runtime
来源:互联网 发布:阿里云vps硬盘io 2017 编辑:程序博客网 时间:2024/05/09 18:20
Objective-C 中给一个对象发送消息会经过以下几个步骤:
在对象类的 dispatch table 中尝试找到该消息。如果找到了,跳到相应的函数IMP去执行实现代码;
如果没有找到,Runtime 会发送 +resolveInstanceMethod: 或者 +resolveClassMethod: 尝试去 resolve 这个消息;
如果 resolve 方法返回 NO,Runtime 就发送 -forwardingTargetForSelector:允许你把这个消息转发给另一个对象;
如果没有新的目标对象返回, Runtime 就会发送 -methodSignatureForSelector:和 -forwardInvocation: 消息。你可以发送 -invokeWithTarget: 消息来手动转发消息或者发送 -doesNotRecognizeSelector: 抛出异常。
1 0
- Runtime of Objective-C
- Runtime of Objective-C
- objective-c runtime
- Objective-C Runtime
- 详解Objective-C runtime
- 详解Objective-C runtime
- 详解Objective-C runtime
- 详解Objective-C runtime
- objective-c runtime
- 详解Objective-C runtime
- Objective-C Runtime
- 详解Objective-C runtime
- Runtime of Objective-C
- Runtime of Objective-C
- 理解 Objective-C Runtime
- 理解 Objective-C Runtime
- 理解 Objective-C Runtime
- 理解 Objective-C Runtime
- 都需要策划一些商业活动
- PAT1029旧键盘
- 树和递归(一)[leetcode]Balanced Binary Tree
- 继承总结
- hdu-1020
- Objective-C Runtime
- LA 3510
- 开始尝试开发项目
- Linux命令行学习之路(十)——网络初探
- umeng自动更新之强制更新
- HBASE 与 HDFS
- Struts2 用ModelDriven接收参数
- 右击表格弹出编辑、删除框
- Xcode7之后简单的真机测试