在dealloc中使用setter/mutators

Dav*_*otz 1 iphone macos objective-c

具体来说,我正在谈论像这样编写一个dealloc:

-(void)dealloc 
{
    self.myvar = nil;
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

我理解这违背了Apple的建议.我也明白,它可以导致使用部分解除分配的对象上的setter使用KVO.但是,如果我按此顺序进行调用(即:首先设置setter,那么[super dealloc])是否存在执行此操作的风险?我试图准确理解危险是什么,特别是为什么这是一件坏事(tm).谢谢....

Sha*_*rog 6

通常,setter可能需要/访问另一个实例变量,如果你已经处理掉了它,可能会导致Bad Mojo.你不想使用的具体原因是什么[myvar release]