Skip to content

Latest commit

 

History

History
5 lines (3 loc) · 509 Bytes

__weak 属性修饰的变量,如何实现在变量没有强引用后自动置为 nil.md

File metadata and controls

5 lines (3 loc) · 509 Bytes

__weak 属性修饰的变量,如何实现在变量没有强引用后自动置为 nil

当使用__weak修饰符的变量,生成一个__weak对象的同时还会将该对象的引用写入weak表,同时将该对象注册到自动释放池。weak表也是一张哈希表。

weak修饰的指针变量所指向的地址是key,所有指向这块内存地址的指针会被添加在一个数组里,这个数组是 Value。当内存地址销毁,数组里的所有对象被置为 nil