`dealloc` 和弱引用中断之间的时间关系 [Cocoa]

Temporal relation between `dealloc` and breaking of weak references [Cocoa]

dealloc 的执行与弱引用被破坏的点和条目从 NSMapTable 中删除的点之间的时间关系是什么?

特别是,我可以确定当dealloc开始执行时,从应用程序的角度来看,没有留下任何强引用,并且无法获得新的强引用(除了maybe通过在执行 dealloc)?

期间复制 self

是的,你可以确定。

this other answer里面的解释说得很清楚了。

其要点是,弱引用的解析通常是通过低级 API 隐式完成的,该 API 考虑到引用指向的实例的释放是否已经开始。