1.RunLoop
深入理解RunLoop
RunLoop 视频
RunLoop第一讲 视频
RunLoop实战 视频
2.Runtime 及 消息转发
Paste_Image.pngObjective-C Runtime
谈Runtime机制和使用的整体化梳理
Objective-C特性:Runtime
理解 Objective-C Runtime
iOS:学习runtime的理解和心得
Runtime 标哥的技术博客
Objective-C 中的消息与消息转发
Objective-C消息转发
消息发送过程:
1. 首先根据receiver对象的isa指针获取它对应的class
2. 优先在class的cache查找message方法,如果找不到,再到methodLists查找
3. 如果没有在class找到,再到super_class查找
4. 一旦找到message这个方法,就执行它实现的IMP。
5. 如果没有找到则尝试方法解析器:
调用+ resolveInstanceMethod: 或+ resolveClassMethod: 方法,添加方法的实现。如果你添加方法并返回YES,那系统在运行时就会重新启动一次消息发送的过程
6. 如果resolveInstanceMethod 方法返回NO ,运行时就跳转到下一步:**消息转发**
如果目标对象实现- forwardingTargetForSelector:方法,系统就会在运行时调用这个方法,只要这个方法返回的不是nil或self,也会重启消息发送的过程,把这消息转发给其他对象来处理
7. 如果未实现上述消息转发则调用methodSignatureForSelector:,创建一个NSInvocation对象并调用-forwardInvocation:方法
3. OBJC类和对象
4. Objective-C block的实现原理
谈Objective-C block的实现
iOS OC语言: Block底层实现原理
objc 中的 block
正确使用Block避免Cycle Retain和Crash
5. SDWebImage
6. 推送
7.GCD
GDC使用
GCD 深入理解:第一部分
GCD 深入理解:第二部分
8.KVO实现原理
9.+load() 与 + initialize()
iOS - + initialize 与 +load
NSObject的load和initialize方法
10.layoutSubviews和drawRect
UIView中的layoutSubviews和drawRect
UIView的layoutSubviews和drawRect方法
网友评论