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