我们之前说到,想要统计每个页面的启动时间。我们可以知道,每个页面都继承了UIViewController,假设每个页面开始启动的时间大概在LoadView的时候,结束启动的时间大概在在ViewDidAppear的时候。
问题1:
应该如何尽量少的改动原有代码实现这个功能呢?
回答:
因为每个页面都继承UIViewController,所以如果我们能够修改UIViewController的LoadView和ViewDidAppear方法就好了。
问题2:
但是UIViewController是系统类,如何修改系统类的实现?
回答:
可以参看我的文章深入浅出理解分类(category)和类扩展(extension),使用分类来重写LoadView和ViewDidAppear方法。同时重写+load方法,在其中实现分类loadView和本类loadView的代码互换。
下面我们可以通过一个例子来看看能否实现交换loadView和UIViewController。