weak实现原理
2018-07-20 本文已影响0人
MAXZhangZZ
遇到面试经常会被问道weak的实现原理,今天查了下资料,实现原理如下:
1,整个程序中可以有很多对象被弱引用
2,一个对象可以弱引用多次
我们实现的逻辑就是强引用销毁后,找到弱引用指针置空
iOS有2张表来实现这个逻辑,一个是数组存储所有弱引用对象,一个是对象指针为key 弱引用指针数组为value,释放的时候通过数组找到对象指针,然后通过指针找到所有弱引用指针,逐次置空
遇到面试经常会被问道weak的实现原理,今天查了下资料,实现原理如下:
1,整个程序中可以有很多对象被弱引用
2,一个对象可以弱引用多次
我们实现的逻辑就是强引用销毁后,找到弱引用指针置空
iOS有2张表来实现这个逻辑,一个是数组存储所有弱引用对象,一个是对象指针为key 弱引用指针数组为value,释放的时候通过数组找到对象指针,然后通过指针找到所有弱引用指针,逐次置空