备战2020:那些 iOS开发 常用的底层面试题合集!
一、Runtime 一个objc对象的isa的指针指向什么?有什么作用? 一个 NSObject 对象占用多少内存空间? 说一下对 class_rw_t 的理解? 说一下对 class_ro_t 的理解? 说一下对 isa 指针的理解 说一下 Runtime 的方法缓存?存储的形式、数据结构以及查找的过程? 使用runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么? 实例对象的数据结构? 什么是method swizzling(俗称黑魔法) 什么时候会报unrecognized selector的异常? 如何给 Category 添加属性?关联对象以什么形式进行存储? 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么? 类对象的数据结构? runtime如何通过selector找到对应的IMP地址? runtime如何实现weak变量的自动置nil?知道SideTable吗? objc中向一个nil对象发送消息将会发生什么? objc在向一个对象发送消息时,发生了什么? isKindOfClass 与 isMemberOfClass Category 在编译过后,是在什么时机与原有的类合并到一起的? Category 有哪些用途? Category 的实现原理? _objc_msgForward函数是做什么的