今是昨非

今是昨非

日出江花红胜火,春来江水绿如蓝

莫空面试记2

莫空面试记 2#

面试中被问到一个问题,如果让你统计页面,给每个页面做记录,你会怎么做?

然后我想想说,

  1. 以前的我的做法是,在每个界面的 viewDidAppear 里写记录的那个方法。
  2. 现在的我的做法是,声明个基类继承自 UIViewController 的,然后在这个类里写 log 的方法,然后所有的界面继承自这个类。

然后问,那要是我的界面有些是继承自 UITableViewController 呢,我说再写个 UITableViewController 的基类。那要是还有继承自 UICollectionViewControoler、UITabBarViewController 呢?然后,我就羞愧了。。。。。

我确实不知道还有什么方法,但是刚刚我在搜索 runtime 的时候,看到一篇博客,Method Swizzling 和 AOP 实践,泪牛满面。。。一模一样,一模一样,有木有,为什么我早点没有看到呢。

看了之后,感觉我好配合,把前面两种都说出来了
image1

答案大家自己看上面那个链接吧,Method Swizzling 和 AOP 这两个之前只是听过,今天算是涨知识了,没白过,嗯,分享给大家。

对了,还有 demo,作者的 demo,AspectsDemo,这样实现看起来,确实好,而且还有高大上的感觉。大家可以先看链接,然后再看这个 demo。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。