摘要: 接上一篇,说到了objc_class里面的method_list,以及SEL与IMP的一一对应关系,以及消息的发送处理过程,留下了动态方法解析和消息转发的迷点,这篇就继续学习这个留下的迷点。 一、动态方法解析 动态方法解析,顾名思义,就是在runtime时期动态的提供一个方法的实现。 举个栗子: 。 阅读全文
posted @ 2018-07-09 11:09 Mr轨迹 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 接上篇、说到了Runtime的基本认识、Runtime与Objective C的关系、以及陈述了objc_msgSend的过程。并且留下了一个线索,这篇就是对上篇留下的线索 结构体做分析学习。 objc_class 先看下这个结构体里面的定义: 从上面的objc_class的定义里面,看到了作为一个 阅读全文
posted @ 2018-07-09 11:08 Mr轨迹 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 前一篇关于NSProxy代理涉及到的关于消息转发,把以前写的runtime文章从github上转移过来。一共三篇,似乎自己也忘记了一些runtime的细节,需要温故一下。 一、什么是Objc的Runtime? Runtime是Objc语言的磐石,Objc语言得以运行,也是依靠runtime库的支持。 阅读全文
posted @ 2018-07-09 11:05 Mr轨迹 阅读(212) 评论(0) 推荐(0) 编辑
摘要: CADisplayLink 一个可以让你的App同步屏幕刷新帧率的定时器对象。在初始化CADisplayLink的时候,提供一个target和selector,这样当屏幕刷新的时候,会根据target调用对应的selector方法,需要将这个定时器添加到run loop中去同步屏幕的刷新loop。 阅读全文
posted @ 2018-07-09 10:58 Mr轨迹 阅读(928) 评论(0) 推荐(0) 编辑