※ 引述《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 了