Re: [問題] viewDidUnload只有在有用到xib時才需要 …
※ 引述《zonble (zonble)》之銘言:
: ※ 引述《wfgh (lyle)》之銘言:
: : 請問viewDidUnload在什麼時候會被呼叫呢?
: 被呼叫到 self.view = nil 的時候,有兩種狀況
: 1. view controller 被 release
: 2. view controller 收到 memory warning
: : 而在viewDidUnload裡的實作是只要把從xib載入的IBOulet設成nil就好了嗎?
: 有被 retain 起來的 uiview 與其 subclass 都要放掉。
不知道有沒有誤解z大的意思 ^^
因為z大提到的是"被呼叫到 self.view = nil 的時候"
不過原問題是"viewDidUnload被呼叫的時候"
根據我的實驗
viewDidUnload在release時不會被呼叫
我在ios simulator跟ios device上測試皆是如此
viewDidUnload會被呼叫應該只有2的情況..
而且是當你的view不在畫面上 且收到memory warning
實作上我的固定pattern會是這樣
- (void) releaseUI
{
//release all resources allocated from loadView or xib
}
- (void) dealloc
{
[self releaseUI];
//release other resources from init methods.
[super dealloc];
}
- (void) viewDidUnload
{
[super viewDidUnload];
[self releaseUI];
}
當然新的xcode4中的interface builder已經很體貼的
當你把元件透過拖曳的方式拉進到.h的時候
一併也會在viewDidUnload跟dealloc加上self.xxx = nil
要怎麼寫 就看每個人的習慣囉...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.251.162
推
05/03 20:40, , 1F
05/03 20:40, 1F
推
05/04 07:46, , 2F
05/04 07:46, 2F
討論串 (同標題文章)
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章