2009-08-06 41 views
0

我有一個對象,它是UIImageView的一個子對象。在所有這些觸摸方法之前,我將這個對象添加到超級視圖,然後用戶移動它。在touchesEnded中,有時我想釋放自我。我已經試過:如何在touchesEnded中釋放自我(UIImageView)?

- [self release] 

- [self removeFromSuperview] 

但所有這些嘗試在異常結束。什麼是釋放自我的正確方式?

+1

你不知道。添加超級視圖時,請確保它是自動發佈的,或者在添加之後立即釋放該參考。當你做[self removeFromSuperview]時,超級視圖會爲你釋放它。 – 2009-08-06 16:53:29

+1

這就是我所做的! 我剛剛發現問題出在哪裏。 我把dealloc方法中的[dealloc]方法從第一行移動到了dealloc的底部,它現在可以工作:)謝謝 – 2009-08-06 18:19:46

+0

哦,是的,[super dealloc]總是必須是dealloc方法中的最後一件事,否則你的對象將會當方法返回時不見了:) – 2009-08-06 18:51:59

回答

0

你不能釋放自我。 self是主視圖,如果您想從UIImageView中移除對象,則必須使用該對象名稱將其移除。 [objNameSubViewOFUIImageView removeFromSuperview]