作者:路飞_Luck
-
对象引用计数放哪里?
- 对象引用计数就存放在extra_rc中
-
MVVM和MVC的区别
-
- MVC的设计模式也并非是病入膏肓,无药可救的架构,最起码目前MVC设计模式仍旧是iOS开发的主流框架,存在即合理。针对文章所述的弊端,我们依旧有许多可行的方法去避免和解决,从而打造一个轻量级的ViewController。
- MVVM是MVC的升级版,完全兼容当前的MVC架构,MVVM虽然促进了UI 代码与业务逻辑的分离,一定程度上减轻了ViewController的臃肿度,但是View和ViewModel之间的数据绑定使得 MVVM变得复杂和难用了,如果我们不能更好的驾驭两者之间的数据绑定,同样会造成Controller 代码过于复杂,代码逻辑不易维护的问题。
- 一个轻量级的ViewController是基于MVC和MVVM模式进行代码职责的分离而打造的。MVC和MVVM有优点也有缺点,但缺点在他们所带来的好处面前时不值一提的。他们的低耦合性,封装性,可测试性,可维护性和多人协作便利大大提高了开法效率。
- 同时,我们需要保持的是一个拥抱变化的心,以及理性分析的态度。在新技术的面前,不盲从,也不守旧,一切的决策都应该建立在认真分析的基础上,这样才能应对技术的变化。
-
-
UIButton防止多次点击
- userInteractionEnabled
- cancelPreviousPerformRequestsWithTarget:selector:object
-
如何监听弱网
-
卡顿检测
- 通过监测Runloop的kCFRunLoopAfterWaiting,用一个子线程去检查,一次循环是否时间太长。
-
NSCache,NSDictionary,NSArray的区别
-
SDWebImage里面用了哪种缓存策略?
- 使用了NSCache做缓存策略
-
self + weakSelf + strongSelf ?
-
原文解答除弱网外,其他均给出了作者自己的见解。
- 面试题系列目录
- 上一份: 苏州蜗牛iOS开发面试题2018年春
- 下一份: 阿里字节一套高效的iOS面试题2020年2月