Re: [問題] 關於TableViewCell使用Xib

作者: johnlinvc (阿翔)   2015-12-07 23:33:56
※ 引述《n823n823 (bg)》之銘言:
: 各位前輩好,剛學iOS開發沒多久
: 想請教這兩種寫法有什麼不同呢?
: https://gist.github.com/conscientiousness/91ae1e9f568c7e5c87d0
: 實作後,或許是沒碰到什麼雷,都可以正常的Run
: 但對xib比較不熟想請教是否觀念有錯,謝謝
官方推薦的做法是(1)
UITableView 為了保證滑動的順暢度,會建議重複使用UITableViewCell
dequeueReusableCellWithIdentifier 就是取得一個現有但是離開螢幕範圍的Cell
來重複利用,降低重新init Cell 的成本。
registerNib:forCellReuseIdentifier: 就是告訴UITableView 在沒有可用Cell 的
時候,該使用哪一個XIB 來產生Cell.
(2)的問題在於cell==nil 的情況下產生的cell 是沒有 reuseIdentifier 的。
沒有reuseIdentifier的話是沒有辦法被reuse 的,會產生一點點效能問題。
而且沒有先registerNib的話應該會fail? 你可能是在storyboard 裡設定過
@"GameTableViewCell"這個reuseIdentifier 了
作者: n823n823 (bg)   2015-12-07 23:56:00
謝謝清楚多了
作者: gradyzhuo   2015-12-09 01:41:00
dequeueReusableCellWithIdentifier:如果遇到不存在的Identifier不會crash,是另一個dequeueReusableCellWithIdentifier:forIndexPath:才會crash,不過我也是建議用第一種,至於正確寫法前一篇有人推文了,就不贅述了~

Links booklink

Contact Us: admin [ a t ] ucptt.com