在以下情况下我得到一个崩溃为什么设置self.object为零导致崩溃
if (self.videoEngine != nil)
{
[self.videoEngine.player.view removeFromSuperview];
[videoEngine release];
self.videoEngine = nil;
}
的videoEngine对象(非原子,保留),并且它使用videoEngine = _videoEngine合成。如果我删除self.videoEngine = nil行,代码将正常工作。这是正确的行为,为什么零线会导致崩溃? self.videoEngine = nil仍然会在viewDidUnload函数中引发问题吗?
真的吗?所以现在我很困惑,我应该释放并且不使用nil方法?还是他们有效地做同样的事情? – 2012-07-23 13:22:17
你应该释放合成变量[_videoEngine release];之后你就不需要做其他事情了。你不应该使用self.videoEngine = nil;因为你发送一个零到setter,它可能需要一些处理时间。 – 2012-07-23 13:27:44
好的,谢谢。将尝试而不是释放。 – 2012-07-23 13:28:42