作者johnlinvc (阿翔)
看板MacDev
标题Re: [问题] 关於TableViewCell使用Xib
时间Mon Dec 7 23:33:56 2015
※ 引述《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://webptt.com/cn.aspx?n=bbs/MacDev/M.1449502439.A.B8B.html
1F:推 n823n823: 谢谢清楚多了 12/07 23:56
2F:→ gradyzhuo: dequeueReusableCellWithIdentifier:如果遇到不存在的I 12/09 01:41
3F:→ gradyzhuo: dentifier不会crash,是另一个dequeueReusableCellWithI 12/09 01:41
4F:→ gradyzhuo: dentifier:forIndexPath:才会crash,不过我也是建议用 12/09 01:41
5F:→ gradyzhuo: 第一种,至於正确写法前一篇有人推文了,就不赘述了~ 12/09 01:41