简述
笔者最近收集梳理了一些iOS相关的问题,其中大部分都是大厂面试或者面试其他人用到的,能命中大部分的面试和日常工作,更希望你可以用它来检验自己
同时小编也欢迎大家加入小编的iOS交流群413038000,群里会提供相关面试资料,书籍欢迎大家入驻!
由于问题量太大,本文只是给了问题,希望发挥圈友的动手能力,自己去探索下,也可以在下方进行评论回复你的答案或者提出更高质量的问题!!!
runtime相关问题
runtime
是iOS开发最核心的知识了,如果下面的问题都解决了,那么对runtime
的理解已经很深了。 runtime
已经开源了,这有一份别人调试好可运行的源码objc-runtime,也可以去官网找objc4
结构模型
- 介绍下runtime的内存模型(isa、对象、类、metaclass、结构体的存储信息等)
- 为什么要设计metaclass
class_copyIvarList
&class_copyPropertyList
区别class_rw_t
和class_ro_t
的区别category
如何被加载的,两个category的load
方法的加载顺序,两个category的同名方法的加载顺序category
&extension
区别,能给NSObject添加Extension吗,结果如何- 消息转发机制,消息转发机制和其他语言的消息机制优劣对比
- 在方法调用的时候,
方法查询-> 动态解析-> 消息转发
之前做了什么 IMP
、SEL
、Method
的区别和使用场景load
、