如何修改使用 cocoapods 添加的类别的方法
How to modify a method from category which is added using cocoapods
我已经使用cocoapods添加了AFNetworking,我需要修改UIActivityIndicatorView+AFNetworking.m类别,更具体地说,我需要在我的项目中使用的自定义日志记录语句添加到dealloc方法的末尾。
- (void)dealloc {
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
[notificationCenter removeObserver:self name:AFNetworkingTaskDidCompleteNotification object:nil];
[notificationCenter removeObserver:self name:AFNetworkingTaskDidResumeNotification object:nil];
[notificationCenter removeObserver:self name:AFNetworkingTaskDidSuspendNotification object:nil];
#endif
[notificationCenter removeObserver:self name:AFNetworkingOperationDidStartNotification object:nil];
[notificationCenter removeObserver:self name:AFNetworkingOperationDidFinishNotification object:nil];
}
是否可以swizzle/subclass/modify/etc这个dealloc方法?
您需要停止通过 cocoapods 使用它,而是在 github 上 fork 您自己的 AFNetworking 存储库版本并改用它。
通过这种方式,您有机会回馈社区。
我已经使用cocoapods添加了AFNetworking,我需要修改UIActivityIndicatorView+AFNetworking.m类别,更具体地说,我需要在我的项目中使用的自定义日志记录语句添加到dealloc方法的末尾。
- (void)dealloc {
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
[notificationCenter removeObserver:self name:AFNetworkingTaskDidCompleteNotification object:nil];
[notificationCenter removeObserver:self name:AFNetworkingTaskDidResumeNotification object:nil];
[notificationCenter removeObserver:self name:AFNetworkingTaskDidSuspendNotification object:nil];
#endif
[notificationCenter removeObserver:self name:AFNetworkingOperationDidStartNotification object:nil];
[notificationCenter removeObserver:self name:AFNetworkingOperationDidFinishNotification object:nil];
}
是否可以swizzle/subclass/modify/etc这个dealloc方法?
您需要停止通过 cocoapods 使用它,而是在 github 上 fork 您自己的 AFNetworking 存储库版本并改用它。
通过这种方式,您有机会回馈社区。