我保留對example
對象的引用,但我從不使用retain
,new
或copy
。我是否需要釋放我不保留的對象?
@interface ExampleViewController : UIViewController
{
IBOutlet UILabel *example;
}
@end
如果我在界面生成器連接UILabel
對象example
,保留計數爲兩個。但是,當我不連接它時,保留計數爲零。我會認爲我保留一個參考,並且觀點保持另一個參考,因此我需要發佈它。你怎麼看?
還有兩個問題,你已經得到我的接受。 1。)爲什麼連接到視圖給它兩個保留計數,而不這樣做給我零?和2.)爲什麼我需要將IBOutlets設置爲零? –
你在你的問題中獲得了retainCount權利;一個參考是由你,另一個由超級觀點。 retainCount從不爲零。如果你讀了零就意味着該變量爲零。釋放它之後,您應該始終爲零。這就是你知道變量不再指向有效對象的方式。沒有這個,你會有一個懸掛指針指向一個不再存在的對象。 – Darren
最後一個問題,所以我必須始終將我的IBOutlet實例變量設置爲零,然後才能釋放其他對象? –