1.讲一下oc的消息机制
- OC的方法调用其实都转成的objc_magSend函数的调用,给方法调用者发送一条消息
- objc_msgSend底层有3大阶段: 消息发送(从当前类 父类中查找)、动态方法解析、消息转发
2.什么是runtime ?
- OC是一门动态性编程语言,允许很多操作推迟到运行时在进行
- OC的动态性是有RunTime来支撑和实现的,Runtime是一套C语言的API,封装了很多动态性相关的函数
- 平时编写的OC代码,底层都转换成立Runtime API进行调用
3.runtime具体应用
- 利用关联对象 给分类添加属性
- 遍历类的所有成员变量
- 方法交换(交换系统的方法)
- 利用消息转发机制解决方法找不到的异常问题
网友评论