代码改变世界

随笔档案-2015年09月

如何自己动手实现 KVO(转)

2015-09-17 17:35 by JG2014, 232 阅读, 收藏,
摘要: KVO (Key-Value Observing)KVO 是 Objective-C 对观察者模式(Observer Pattern)的实现。也是 Cocoa Binding 的基础。当被观察对象的某个属性发生更改时,观察者对象会获得通知。有意思的是,你不需要给被观察的对象添加任何额外代码,就能使用... 阅读全文

Method Swizzling 和 AOP 实践(转)

2015-09-17 16:36 by JG2014, 168 阅读, 收藏,
摘要: 上一篇介绍了Objective-C Messaging。利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题。这一篇,我们来探索一些利用 Objective-C Runtime 的黑色技巧。这些技巧中最具争议的或许就是 Method S... 阅读全文

Objective-C Runtime(转)

2015-09-17 16:33 by JG2014, 156 阅读, 收藏,
摘要: Objective-CObjective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心是一个用 C 和 编译语言 写的 Runtime 库。它是 Objective-C 面向对象和动态机制的基石。Objective-C 是一个动态语言,这意味着... 阅读全文