不需要。
在ARC環(huán)境無論是強指針還是弱指針都無需在 dealloc 設(shè)置為 nil 实昨, ARC 會自動幫我們處理
即便是編譯器不幫我們做這些洞豁,weak也不需要在 dealloc 中置nil:
我們模擬下 weak 的 setter 方法,應(yīng)該如下:
- (void)setObject:(NSObject *)object{
objc_setAssociatedObject(self, "object", object, OBJC_ASSOCIATION_ASSIGN);
[object cyl_runAtDealloc:^{
_object = nil;
}];
}
也即: 在屬性所指的對象遭到摧毀時,屬性值也會清空(nil out)丈挟。
摘自這里刁卜,點擊查看更多問題及答案