老师 麻烦问一下 散列表是存放的位置
来源:6-2 内存管理方案相关面试问题

慕斯卡622825
2019-01-05
散列表是存放在哪儿的?堆,栈还是已初始化数据区呢?用weak修饰的属性变量 也在散列表中的 weak 表中有吗?类对象会存储 属性列表 也就是用weak修饰的 对象的指针 这2个地方都有存储是吗?老师 很遗憾 恳请您抽时间回答一下 谢谢
写回答
1回答
-
于海
2019-01-12
散列表存放在哪取决于它的声明方式,建议具体参看objc-runtime680版本源码来确认。
属性是以指针形式存放在类对象的结构中,比如一个成员变量在类结构中在64位情况下存放一个指针,占有64位空间,存储一个变量。这部分是与所有权修饰符无关的。
弱引用表对weak修饰的某个类的属性变量应该存储的是指针的指针,就是二级指针。可以看下objc-runtime680源码确认下。
希望能帮助到你00
相似问题