摘要: 在上周associated objects一文中,我们开始探索Objective-C运行时的一些黑魔法。本周我们继续前行,来讨论可能是最受争议的运行时技术:method swizzling。Method swizzling指的是改变一个已存在的选择器对应的实现的过程,它依赖于Objectvie-C中方法的调用能够在运行时进改变——通过改变类的调度表(dispatch table)中选择器到最终函数间的映射关系。举个例子,假设我们想跟踪在一个iOS应用中每个视图控制器展现给用户的次数:我们可以给每个视图控制器对应的viewWillAppear:实现方法中增加相应的跟踪代码,但是这样做会产生大量重 阅读全文
posted @ 2014-02-26 10:40 痴人指路 阅读(932) 评论(0) 推荐(0)