runtime如何实现weak属性

本文详细解释了弱引用(weak)的概念及其在运行时的行为特点。弱引用不会增加对象的引用计数,在对象被销毁时其值会被设为nil。文章还介绍了运行时如何通过哈希表管理弱引用对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先了解weak是一种非拥有关系,属性所值对象销毁时,属性值会情况(nil).

Runtime对注册的类会进行布局,对于weak对象会放入hash表中,用weak指向的内存地址作为key,当对象引用计数器为0时会dealloc,假如weak指向的对象内存地址为a,那么就会以a为键,在这个weak表中搜索,找到以a为键的weak对象,从二设置为nil.

转载于:https://www.cnblogs.com/haotianToch/p/6442788.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值