DRPageTracker 0.0.2

DRPageTracker 0.0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年12月

Yongkai Yu维护。



  • 作者:
  • Shevckcccc

DRPageTracker 是一个用于追踪 ViewController 是否显示的 iOS 类,使用了 OC 的 runtime 功能,比较轻量,对现有代码结构无影响

安装

pod 'DRPageTracker'

以上就是所有步骤

使用

运行您的应用(调试模式),在 App 中打开任意几个 ViewController,然后您就可以在日志中找到类似以下的内容

UINavigationController 

HomeViewController 

UIInputWindowController 

PageViewController 

HomeViewController 

PageViewController 

HomeViewController 
...

注意

1. 方法被覆盖

如果您已经有一个对 UIViewController#viewDidAppear 方法的修改,这个 Pod 可能不会工作,请小心使用。

2. 在 ChildViewController#viewDidAppear 中调用 [super viewDidAppear:animated]

由于分类是在 UIViewController 上,它只修改了 UIViewController 的 viewDidAppear 方法(基础类),如果子 UIViewController(实现了自己的 viewDidAppear)想要打印日志,必须先调用 super viewDidAppear 方法

// UserViewController

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated]; // must call
}

中文版本

DRPageTracker 是一个用于追踪 ViewController 是否显示的库,它利用了 OC 的 runtime 功能,相对轻量,对现有代码结构无影响

安装

pod 'DRPageTracker'

安装完毕后运行即可看到效果,无需任何代码集成

使用

运行您的工程(调试模式下),在 App 中打开任意几个 ViewController,然后您就可以在日志中找到类似以下的内容

UINavigationController 

HomeViewController 

UIInputWindowController 

PageViewController 

HomeViewController 

PageViewController 

HomeViewController 
...

需要注意的地方

1. 代码覆盖

如果您的代码中已经存在对 UIViewController#viewDidAppear 方法的修改,那么再使用 DRPageTracker 可可能导致冲突,请谨慎使用

2. 子类方法需要主动调用 [super viewDidAppear:animated]

DRPageTracker 只实现了 UIViewController 的 Category,因此如果子类调用,需要在 viewDidAppear 中首先调用 [super viewDidAppear:animated] 方法,如果子类没有实现 viewDidAppear 方法,则无需任何处理

// UserViewController

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated]; // must call
}