imp_implementationForwardingToSelector 0.4.0

imp_implementationForwardingToSelector 0.4.0

测试已测试
语言语言 汇编汇编
许可证 MIT
发布最后发布2014年12月

Oliver Letterer 维护。



License Badge

imp_implementationForwardingToSelector 是一个跳板,用于将 objc 消息转发到不同的选择器。

安装

imp_implementationForwardingToSelector 通过 CocoaPods 提供,要安装它,只需将以下行添加到您的 Podfile 中

pod "imp_implementationForwardingToSelector"

工作原理

消息转发

imp_implementationForwardingToSelector 是一个自定义跳板(您可以在 这里 了解跳板),可以将任何 objc 消息转发到新的选择器。

IMP imp_implementationForwardingToSelector(SEL forwardingSelector, BOOL returnsAStructValue);

以下是一个例子

IMP forwardingImplementation = imp_implementationForwardingToSelector(@selector(setCenter:), NO);
class_addMethod([UIView class], @selector(thisSetCenterDoesNotExistYet:), forwardingImplementation, typeEndoding);

然后,所有 UIView 的实例都响应该选择器,并将该消息转发到 -[UIView setCenter:]。如果您想了解更多关于跳板的信息,或者可能想看到一篇像 Writing custom trampolines for beginners and all the pitfalls 的博客,请 refugeIslamicTwitter 按下 Twitter

限制

imp_implementationForwardingToSelector 使用原始汇编编写,目前正在 i386、armv7、armv7s 和 arm64 上提供。

作者

Oliver Letterer

许可证

imp_implementationForwardingToSelector 可在 MIT 许可下使用。有关更多信息,请参阅 LICENSE 文件。