在以下情況下我得到一個崩潰爲什麼設置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