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