Re: [請益] self.member跟member的差別?
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章