iOS 知识点:
1.iOS 事件传递及响应链
2.多线程
3.iOS 内存管理机制是什么?为什么会出现内存泄漏?有哪些常见内存泄漏的情况。
4.runtime原理(消息发送,NSHipster对象关联,NSHipster方法交换等等)
5.KVO原理 -> KVC -> runtime
6.UITableView优化方案(不仅cell重用,tableView也能重用:配合UICollectionView)
7.AFN源码解析
8.SDWebImageView源码解析
9.UIViewController生命周期
10.App生命周期
详解:
1.iOS中的消息传递机制有以下几种:
代理(Delegation)
通知(NSNotification)
BLOCK
KVO(key-value observing)
Target-Action
除此之外 方法调用本身就是一种消息传递机制
消息传递机制
2.block中解决循环引用的方法是在外部__weak,内部__strong,那么__strong会对引用计数加一,为什么却没有造成内存泄漏?
这个问题问的很深。。。我思考了一下,说了一下block的作用域。。面试官说我答对了一半,后来我和小伙伴讨论了一下。结果应该是 __strong是对weak指针强引用了一次,并没有对对象强引用,这是一个点。我没考虑周全。这样的回答可能更好。
网友评论