YZHookHandler
YZHookHandler 使用 Objective-C 消息转发来挂钩消息。这将会产生一些开销。请不要对调用频繁的方法添加挂钩。YZHookHandler 旨在用于不是每秒调用1000次以上的视图/控制器代码。添加挂钩会返回一个处理函数,可以用来再次注销。所有调用都是线程安全的。
大部分代码参考自 ReactiveObjC
。
示例项目
见 Demo/Demo.xcodeproj
安装
CocoaPods
- 将
pod 'YZHookHandler'
添加到您的 Podfile。 - 运行
pod install
或pod update
。 - 导入 <YZHookHandler/YZHookHandler.h>。
Carthage
- 将
github "CancerQ/YZHookHandler"
添加到您的 Cartfile 中。 - 运行
carthage update --platform ios
并将框架添加到您的项目中。 - 导入 <YZHookHandler/YZHookHandler.h>。
手动
- 下载
YZHookHandler
子目录下的所有文件。 - 将源文件添加到您的 Xcode 项目中。
需求
本库需要 iOS 8.0+
和 Xcode 9.0
。
使用方法
YZHookHandler 扩展了以下方法 NSObject
[[viewController yz_hookForSelector:@selector(viewWillAppear:)] after:^(NSArray * _Nonnull args) {
BOOL animated = args[0];
NSLog(@"viewWillAppear: %d", animated);
}];
许可
YZHookHandler 根据 MIT 许可证提供。有关详细信息,请参阅 LICENSE 文件。