Re: [請益] self.member跟member的差別?

看板MacDev作者 (畢業了..@@")時間14年前 (2011/09/21 09:23), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《iwayne (Wayne)》之銘言: : → iwayne:感謝上面二位大大,那看來我的理解是沒錯的。所以,在使用 09/20 17:59 : → iwayne:基本上最好用self.member用property方式,依(retain,..) 09/20 17:59 : → iwayne:比較方便。那動作原理是不是當ViewDidUnload發生時,先透過 09/20 18:00 : → iwayne:Setter送nil進去,讓setter retain nil,並release舊的。 09/20 18:01 : → iwayne:然後,dealloc時,再去直接針對member release。就算那時候 09/20 18:01 : → iwayne:member是nil,送release也沒關係。我這樣理解對嗎? 09/20 18:02 : → iwayne:但是為什麼不直接dealloc release member就好,還要事先去 09/20 18:05 : → iwayne:對setter送nil呢?@@" 09/20 18:05 你也可以在viewDidUnload裡面使用[memeber release]; member=nil; 也可以在dealloc使用self.memeber = nil 這兩個本來就是一樣的 而為什麼這兩邊都要release 是因為viewDidUnlaod跟dealloc被呼叫的時機本來就不同 你的view controller的生命週期可能是 init viewDidLoad viewDidUnlaod viewDidLoad viewDidUnload dealloc 為了保證資源都有正確的被釋放 所以我們都會在dealloc跟viewDidUnload去把你在loadView或是viewDidLoad產生 的物件釋放掉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.251.162

09/21 10:51, , 1F
對耶,原來重點在被呼叫的時機。感謝大大的開釋...
09/21 10:51, 1F
文章代碼(AID): #1EUJo0xR (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1EUJo0xR (MacDev)