Re: [問題] viweDidUnload該填的內容為何?
※ 引述《denru01 (阿儒)》之銘言:
: 似乎是只有用在界面上的outlet需要設為nil,
: 而保存資料用的NSArray等不需要。
: 但我看很多sample code,卻是將所有的class ivar全部設為nil。
: 因為我在Navigation Control時,是用傳遞物件的方式,
: 讓前後的view能夠交換資料,
比較建議的實作是,如果前後的 view controller 之間要交換資料,
那直接定自己的一套 protocol,在路徑比較深的那個 view controller
裡頭做了什麼事情,用 delegate 的方式,回傳給比較前面的那個
view controller。
: 若有最後一行,會讓程式crash,crash原因為objc_msgsend,
: 我查到的意思是,可能是送訊息給已經被釋放的物件。
: 若將[textField release];註解掉,
: 便可正常work。
: 但這種情況在將UITextField改為UILabel卻不會發生,
: 另外我將最後一行改成textField=nil;
: 也是可以正常work。
: 想請教是什麼原因,謝謝!
兩種狀況:
1.如果你想要在 table view cell 裡頭加的 subview,是每個
用到的 table view cell 都要用到的,那,直接 subclass
UITableViewCell,然後把產生物件與 release 物件這件事情
放在你的 table view cell subclass 的 -(id)init 與 dealloc
裡頭,這樣比較不會做錯事情。
2.如果你要加入的 text field 在一個 view controller 裡頭
就是那麼多個,那,你應該把這些物件當成 view controller
的成員變數處理,在 view controller 的 init 與 dealloc
處理。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.194.167
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章