Re: [問題] viweDidUnload該填的內容為何?

看板MacDev作者 (zonble)時間16年前 (2009/08/04 23:07), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《denru01 (阿儒)》之銘言: : 偏偏viewDidUnload似乎是在記憶體不夠時才會被呼叫, : 現在根本沒辦法測。 iPhone Simulator 的 Hardware 選單裡頭有一項 「Simulate Memory Warning」,就是拿來做這件事情用的。 : 另外, 設self.myOutlet = nil; 與 [self.myOutlet release]; 的差別為何呢? : 在此能不能使用[self.myOutlet release];呢? 在 ObjC 2.0 裡頭,成員變數的使用方式並不等同於 property。 property 的語法基本上是幫你把 getter 與 setter 寫完,所以, self.myOutlet = nil 的意思是 - (void)setMyOutlet:(id)tmp { [myOutlet release]; myOutlet = [tmp retain]; // 如果 property 是設成 retain } [self setMyOutlet:nil]; 而 [self.myOutlet release] 則是: - (id)myOutlet { return myOutlet; } id tmp = [self myOutlet]; [tmp release]; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.194.167

08/04 23:33, , 1F
其實我建議如果沒 garbage collector 能用, 又還沒成為
08/04 23:33, 1F

08/04 23:33, , 2F
記憶體管理大師, 那手動寫 getter setter 會比較好...
08/04 23:33, 2F

08/04 23:34, , 3F
不是會不會寫錯的問題, 是這樣比較容易知道自己在幹什麼
08/04 23:34, 3F

08/04 23:35, , 4F
點運算子和 @property 對更有經驗的人比較有幫助
08/04 23:35, 4F
文章代碼(AID): #1AU4wsWL (MacDev)
文章代碼(AID): #1AU4wsWL (MacDev)