在我的实现中,我可以选择使用class_addMethod在运行时创建新方法,或者我可以依赖forwardInvocation / NSProxy。如果两种方法都可用作解决方案,您希望采用哪种方式,以及如何确定?
答案 0 :(得分:0)
我更喜欢class_addMethod
。
forwardInvocation
快得多(搜索方法列表,尝试使用forwardTarget,创建NSInvocation
,这实际上是解决选择器的最后一次尝试)答案 1 :(得分:0)
class_addMethod
是最佳选择。
因为它可以使用方法搜索缓存来改进查找匹配方法地址。
参考文献:BOOK" Effective Objective-C 2.0"第12期