iOS高级面试题精讲

iOS 开发里的 RunLoop 机制,真的是个老生常谈但又绕不开的话题。这份《iOS 高级经典面试》文档,把RunLoop讲得挺透,尤其是和线程的关系,还有各种模式的切换,看完你会明白,UI 不卡顿、线程不死掉,其实都离不开它。

RunLoop 的模式部分讲得细,比如UITrackingRunLoopMode是怎么避免滑动被打断的,还有kCFRunLoopCommonModes其实是个组合模式,不是真正的模式,这种小细节挺有意思的。

而且关于自动释放池的生命周期,文中也点得比较到位,比如 RunLoop 睡觉前会销毁旧的自动释放池,创建新的,这对理解内存释放节奏有。

后面还有对weakassign的区别解释,嗯,虽然是常识,但面试真有问得刁钻,一眼扫过再巩固一下没坏处。

你要是自己封装对象,想支持copy操作,也可以照着文中那一节,把NSCopying的实现补上,直接上代码。

文末附了不少相关文章,像是线程保活源码这种也都蛮有深度,感兴趣可以一起看下。

如果你最近在准备面试,或者正好在做跟多线程、内存打交道的开发,建议你抽空读一遍,内容偏高级,但不晦涩,关键是讲得挺接地气。

pdf 文件大小:16.95MB