莫空面试记2

本文讨论了在iOS应用开发中如何有效地统计页面访问情况。通过对比直接在视图控制器中记录日志和使用基类统一处理这两种方式,引出了Method Swizzling和AOP(面向切面编程)的概念,并给出了具体的实现方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

然后我想想说,

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

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

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

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

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

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

转载于:https://juejin.im/post/5a31da4f51882531ba10f406

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值