1

以下提供了一种在运行时向类添加方法的便捷方法:

imp_implementationWithBlock((void*) objc_unretainedPointer(^(id me, BOOL selected)

然后可以使用 class_addMethod() 添加该方法。这些实现最终会被缓存并使用快速方法调度系统吗?

4

1 回答 1

2

我的直觉是肯定的,因为否则会使精致、一致和漂亮的 Objective-C 运行时复杂化 :)

还有这个链接-> http://kevin.sb.org/2006/11/16/objective-c-caching-and-method-swizzling/

看起来还挺自信的。调用class_addMethod后,它们都是类中的方法。据我所知,如果我错了,请纠正我,没有办法将它们与编译的区别开来。

于 2013-02-01T05:24:15.480 回答