runtime如何实现weak变量的自动置nil?

来源:互联网 发布:爱奇艺2016年网络剧 编辑:程序博客网 时间:2024/06/08 17:48
runtime 对注册的类, 会进行布局,对于 weak 对象会放入一个 hash 表中。 用 weak 指向的对象内存地址作为 key,当此对象的引用计数为0的时候会 dealloc, 在这个 weak 表中搜索,找到所有以a为键的 weak 对象,从而设置为 nil。

weak 修饰的指针默认值是 nil (在Objective-C中向nil发送消息是安全的)