iOS 打印个个页面的控制器

本文介绍了两种在iOS项目中实现打印每个页面控制器的方法。方案一是为项目创建一个基类viewController,让所有控制器继承自它,并重写viewWillAppear方法进行日志打印。方案二是通过方法交换,在UIViewController的分类中实现日志打印,适用于已有的项目,可以在DEBUG模式下工作,减少不必要的修改。
摘要由CSDN通过智能技术生成

解决方案
方案1
整个项目中建立一个基类的viewController,然后将项目中所有的viewController都继承于基类的viewController,然后重写基类中的viewWillAppear方法

  • (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    NSString *className = NSStringFromClass([self class]);
    NSLog(@"%@ will appear", className);
    }
    方案2
    给UIViewContoller建立一个分类,在分类里进行方法的交换,既保留了原本的方法,又有打印信息
    //
    // UIViewController+Swizzling.m
    // CollectionsOfExample
    //
    // Created by mac on 16/10/1.
    // Copyright ? 2016年 chenfanfang. All rights reserved.
    //

#import “UIViewController+Swizzling.h”

#import @implementation UIViewController (Swizzling)

  • (void)load {

    //我们只有在开发的时候才需要查看哪个viewController将出现
    //所以在release模式下就没必要进行方法的交换
    #ifdef DEBUG

    //原本的viewWillAppear方法
    Method viewWillAppear = class_getInstanceMethod(self, &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值