`dealloc` 和弱引用中断之间的时间关系 [Cocoa]
Temporal relation between `dealloc` and breaking of weak references [Cocoa]
dealloc
的执行与弱引用被破坏的点和条目从 NSMapTable
中删除的点之间的时间关系是什么?
特别是,我可以确定当dealloc
开始执行时,从应用程序的角度来看,没有留下任何强引用,并且无法获得新的强引用(除了maybe通过在执行 dealloc
)?
期间复制 self
是的,你可以确定。
this other answer里面的解释说得很清楚了。
其要点是,弱引用的解析通常是通过低级 API 隐式完成的,该 API 考虑到引用指向的实例的释放是否已经开始。
dealloc
的执行与弱引用被破坏的点和条目从 NSMapTable
中删除的点之间的时间关系是什么?
特别是,我可以确定当dealloc
开始执行时,从应用程序的角度来看,没有留下任何强引用,并且无法获得新的强引用(除了maybe通过在执行 dealloc
)?
self
是的,你可以确定。
this other answer里面的解释说得很清楚了。
其要点是,弱引用的解析通常是通过低级 API 隐式完成的,该 API 考虑到引用指向的实例的释放是否已经开始。