看板 MacDev 關於我們 聯絡資訊
※ 引述《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 了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.132.83 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1449502439.A.B8B.html
n823n823: 謝謝清楚多了 12/07 23:56
gradyzhuo: dequeueReusableCellWithIdentifier:如果遇到不存在的I 12/09 01:41
gradyzhuo: dentifier不會crash,是另一個dequeueReusableCellWithI 12/09 01:41
gradyzhuo: dentifier:forIndexPath:才會crash,不過我也是建議用 12/09 01:41
gradyzhuo: 第一種,至於正確寫法前一篇有人推文了,就不贅述了~ 12/09 01:41