UIViewController|UIViewController --------添加分类显示哪个controller将要出现
当你接手一个大项目的时候,对整体的业务逻辑不熟悉,整体的架构体系不熟悉,让你修复某个页面的BUG,估计你找这个页面所对应的viewController都要找好久
能否有一种方式可以快速让你上手一个大项目?快速找到某个页面所对应的viewController ?所以如果能够打印出将要加载viewController 就方便找到对应的内容在哪里了
思路:
我们可以给ViewController添加一个分类,废话不多说,直接上代码:
#import "UIViewController+load.h"
@implementation UIViewController (load)
+ (void)load {
#ifdef DEBUG
//原本的viewWillApper方法
Method viewWillAppear = class_getInstanceMethod(self, @selector(viewWillAppear:));
//需要替换成能够输入日志的viewWillAppear
Method logViewWillAppear = class_getInstanceMethod(self, @selector(logViewWillAppear:));
//两方法进行交换
method_exchangeImplementations(viewWillAppear, logViewWillAppear);
#endif
}
- (void)logViewWillAppear:(BOOL)animated {
NSString *className = NSStringFromClass([self class]);
////在这里,你可以进行过滤操作,指定哪些viewController需要打印,哪些不需要打印
//if ([className hasPrefix:@"UI"] == NO) {
//NSLog(@"%@ will appear",className);
//}
NSLog(@"%@ will appear",className);
//下面方法的调用,其实是调用viewWillAppear
[self logViewWillAppear:animated];
}
【UIViewController|UIViewController --------添加分类显示哪个controller将要出现】@end
推荐阅读
- 编写字典程序
- 怎么将桌面上的CAD图纸添加到软件中进行BMP格式转换()
- 2147483647与int型
- 怎样把一个字典的数据添加到另一个字典中()
- 培养习惯的倦怠期可以添加变化~74
- 如何在Kubernetes|如何在Kubernetes 里添加自定义的 API 对象(一)
- Ubuntu|Ubuntu 下添加开机启动脚本
- Android|Android Room 的坑
- (IOS)为UIView某个角添加圆角
- laravel|laravel 添加扩展包步骤