我有幾個有關UIViewController的問題:幾個問題:UIViewController的生命週期;釋放vs設置爲零
1)何時調用UIViewController的每個方法?具體來說,viewDidLoad,viewDidUnload和dealloc之間的區別。
2)有什麼區別,一般,當設置一個指針等於零和釋放指針?我知道在viewDidUnload中,你應該將它設置爲等於零,但是在dealloc調用版本中。
更新:對不起,剛剛意識到這個問題是誤導。而不是dealloc,我的意思是 - 什麼時候initWithNibName:bundle和release被調用?只有一次IB,對吧?
對不起,我瞭解除了將它設置爲零和調用發佈之間的區別之外的所有內容。最後,不管你用哪種方式來調用發佈版本嗎?那麼爲什麼self.pointer = nil而不僅僅是[指針釋放]? – jasonbogd 2009-10-23 22:39:26
您應該閱讀objective-c內存管理和objective-c 2.0屬性。 只需將指針設置爲零,不會釋放它指向的內存。但是,如果將nil指定爲指定retain屬性的*屬性*,則在將指針指派給傳入的參數並調用retain之前,先前存儲的對象將收到一條釋放消息。在這種情況下,參數將爲零,所以前一個對象被髮送釋放,nil被分配給指針,然後在nil上調用retain(這是一個無操作,因爲發送消息到nil什麼都不做)。 – Jasarien 2009-10-24 11:46:22