为什么在实例被解除锁定时将委托设置为nil



我用失礼来检查我的代码,它说

当对象将自己设置为以下对象之一的委托或数据源时其成员,则必须在其-[NSObject dealloc]中分离该引用方法

所以我需要写

- (void)dealloc
{
    self.tipsView.delegate = nil;
}

为什么?如果委托很弱,那么当它解除锁定时,我找不到将其设置为零的必要性。

如果您的委托是弱引用,那么将其设置为nil是没有意义的。工具错了。

这样做的唯一原因是如果您没有使用ARC。我认为该工具要么很旧,要么没有配置为知道您正在使用ARC。

最新更新