莫空面试记2
面试中被问到一个问题,如果让你统计页面,给每个页面做记录,你会怎么做?
然后我想想说,
- 以前的我的做法是,在每个界面的viewDidAppear里写记录的那个方法。
- 现在的我的做法是,声明个基类继承自UIViewController的,然后在这个类里写log的方法,然后所有的界面继承自这个类。
然后问,那要是我的界面有些是继承自UITableViewController呢,我说再写个UITableViewController的基类。那要是还有继承自UICollectionViewControoler、UITabBarViewController呢?然后,我就羞愧了。。。。。
我确实不知道还有什么方法,但是刚刚我在搜索runtime的时候,看到一篇博客,Method Swizzling 和 AOP 实践,泪牛满面。。。一模一样,一模一样,有木有,为什么我早点没有看到呢。
看了之后,感觉我好配合,把前面两种都说出来了
答案大家自己看上面那个链接吧,Method Swizzling 和 AOP这两个之前只是听过,今天算是涨知识了,没白过,嗯,分享给大家。
对了,还有demo,作者的demo,AspectsDemo,这样实现看起来,确实好,而且还有高大上的感觉。大家可以先看链接,然后再看这个demo。