推 hsc0927:通常 Setter 裡會先 release 掉舊值再 retain 新值, 09/20 12:18
→ hsc0927:所以用 setter 的方式,通常不會有 leak,直接 assign 09/20 12:19
→ hsc0927:的話,要自己處理 release 或放到 autorelease pool。 09/20 12:20
推 popcorny:self.member是用property. 而member是直接存取.. 09/20 14:29
→ popcorny:而property的memory管理是靠(retain,assign,copy)來決定 09/20 14:30
→ 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
推 aecho:objC內建null object pattern,release之後順手設成nil。 09/21 16:05
→ aecho:之後nil不管做什麼事,都不會有動作。 09/21 16:06