美文网首页
iOS 快速上手一个项目

iOS 快速上手一个项目

作者: 彦子凡 | 来源:发表于2018-06-06 17:06 被阅读43次
  • 对于一个大项目而言,最烦恼的就是在众多界面难以找到对应的viewController,要改个东西都要花好长的时间去找对应的类。
  • 特别是当你接手一个大项目的时候,对整体的业务逻辑不熟悉,整体的架构体系不熟悉,让你修复某个页面的BUG,估计你找这个页面所对应的viewController都要找好久

解决方案

  1. 方案一:
//整个项目中建立一个基类的viewController,然后将项目中所有的viewController都继承于基类的viewController,然后重写基类中的viewWillAppear方法
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    NSString *className = NSStringFromClass([self class]);
    NSLog(@"%@ will appear", className);
}
  1. 方案二(runtime的使用)
//给UIViewContoller建立一个分类,在分类里进行方法的交换,既保留了原本的方法,又有打印信息
+ (void)load {
    //我们只有在开发的时候才需要查看哪个viewController将出现
    //所以在release模式下就没必要进行方法的交换
#ifdef DEBUG
    //原本的viewWillAppear方法
    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);
    }
    //下面方法的调用,其实是调用viewWillAppear
    [self logViewWillAppear:animated];
}

相关文章

  • iOS 快速上手一个项目

    对于一个大项目而言,最烦恼的就是在众多界面难以找到对应的viewController,要改个东西都要花好长的时间去...

  • iOS~runtime

    iOS~runtime理解iOS runtime学习笔记Objective-C Runtime让你快速上手Runt...

  • 快速上手一个项目

    前言:对于一个大项目而言,最烦恼的就是在众多界面难以找到对应的viewController,要改个东西都要花好长的...

  • 快速上手mpvue 项目

    初始化一个 mpvue 项目 分包机制 2018.7.23+mpvue-loader 1.1.2-rc.2 之后,...

  • 怎么快速上手一个项目?

    最近我们团队新接手了一个模型推荐的项目,给大家整理了一个关于这个项目的学习记录,大家觉得还挺受用的,所以打算写一下...

  • iOS 快速上手Runtime

    前言 本篇主要介绍Runtime在开发中的一些使用场景,顺便讲解了下MJExtension的底层实现。 一、run...

  • iOS | FMDB快速上手

    任何的开发都或多或少的接触到数据库,而在IOS中一般使用的是SQLite数据库,这是一个轻量功能较为不错的数据库....

  • 收藏整理(持续更新)

    项目搭建 优雅快速的搭建一个IOS项目,让你的项目结构不再混乱!(纯代码) 手把手教你如何搭建iOS项目基本框架 ...

  • dockerfile与docker-compose.yml区别

    最简单,快速上手 Dockerfile 记录单个镜像的构建过程, docker-compse.yml 记录一个项目...

  • 快速搭建一个项目基本框架:前篇(下)

    极致框架大大简化了iOS新项目构建项目基本框架的过程。官方教程现已发布:用极致框架快速搭建一个iOS项目基本框架。...

网友评论

      本文标题:iOS 快速上手一个项目

      本文链接:https://www.haomeiwen.com/subject/vsxisftx.html