遇到面试经常会被问道weak的实现原理,今天查了下资料,实现原理如下:
1,整个程序中可以有很多对象被弱引用
2,一个对象可以弱引用多次
我们实现的逻辑就是强引用销毁后,找到弱引用指针置空
iOS有2张表来实现这个逻辑,一个是数组存储所有弱引用对象,一个是对象指针为key 弱引用指针数组为value,释放的时候通过数组找到对象指针,然后通过指针找到所有弱引用指针,逐次置空
weak实现原理
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- weak 实现原理的概括 Runtime维护了一个weak表,用于存储指向某个对象的所有weak指针。weak表其...