以下提供了一种在运行时向类添加方法的便捷方法:
imp_implementationWithBlock((void*) objc_unretainedPointer(^(id me, BOOL selected)
然后可以使用 class_addMethod() 添加该方法。这些实现最终会被缓存并使用快速方法调度系统吗?
以下提供了一种在运行时向类添加方法的便捷方法:
imp_implementationWithBlock((void*) objc_unretainedPointer(^(id me, BOOL selected)
然后可以使用 class_addMethod() 添加该方法。这些实现最终会被缓存并使用快速方法调度系统吗?
我的直觉是肯定的,因为否则会使精致、一致和漂亮的 Objective-C 运行时复杂化 :)
还有这个链接-> http://kevin.sb.org/2006/11/16/objective-c-caching-and-method-swizzling/
看起来还挺自信的。调用class_addMethod后,它们都是类中的方法。据我所知,如果我错了,请纠正我,没有办法将它们与编译的区别开来。