面试题总结

作者: Nbm | 来源:发表于2020-06-30 14:58 被阅读0次

NSObject的本质

1.一个NSObject在内存中就是一个结构体
  • 分配16个字节的内存,但实际只用了8个字节(成员变量所占内存)
  • int类型占4个字节,doule类型,long类型,String类型占8个字节
  • 内存对齐,OC对象占的内存最少为16个字节
2.对象的isa指针指向哪里?
  • instance对象的isa指针指向class对象
  • class对象的isa指针指向元类对象(meta-class)
  • 元类对象的isa指针指向基类的meta-class对象
3.OC的类信息存放哪里?
  • 对象方法,属性,成员变量,协议信息存放在类(class)对象
  • 类方法存放在元类对象(meta-class)
  • 成员变量的具体值存放在instance对象中

KVO的本质

  • 利用runtimeAPI动态创建一个子类,并且让instance对象的isa指针指向这个子类,当修改instance对象的属性时,会调用Foundation的_NSetXXValueAndNotify函数
  • 调用_NSetXXValueAndNotify函数的willChangeValueForKey,父类的setter方法,didChangeValueForKey,didChangeValueForKey内部会触发(oberser)的监听方法(observeValueForKeyPath:ofObject:change:context)

相关文章

  • Java面试题汇总

    Java面试题总结 Java面试题总结一Java面试题总结二

  • iOS经典面试题总结--内存管理

    iOS经典面试题总结--内存管理 iOS经典面试题总结--内存管理

  • iOS RunLoop 总结以及相关面试题解答

    iOS RunLoop 总结以及相关面试题解答 iOS RunLoop 总结以及相关面试题解答

  • Paper Collection - InInterview

    ios 面试题 经典(比较全) 根据重点总结(总结的题还是比较多的,有答案) sunnyxx的面试题 很全的面试题目

  • JavaScript面试题整理(1)

    做面试题就是要做经典的面试题,通过这些具有代表性的面试题来学习与总结,从而掌握相同类型的题目。 对于面试题的总结与...

  • 2020年,精选大厂的iOS面试题总结(一)

    iOS面试题目录(一) 精选大厂的iOS面试题总结(一)精选大厂的iOS面试题总结(二) 1. iOS内存管理机制...

  • 面试题

    关注的面试题文集 Android面试题整理 Android工程师面试题大全 Android 面试题总结之Andro...

  • 面试题转载

    iOS面试了20几家总结出来的面试题iOS面试了20几家总结出来的面试题(二)

  • Handler面试题总结

    面试题总结 Handler是一个比较重要的东西,所以把网上发的Handler中的面试题总结了一下,这些面试题没问题...

  • java script 1

    1 史上最全的Javascript面试题总结 史上最全的Javascript面试题总结 1 未声明和未定义? 未声...

网友评论

    本文标题:面试题总结

    本文链接:https://www.haomeiwen.com/subject/vogyfktx.html