【发布时间】:2013-03-20 12:20:36
【问题描述】:
我注意到UICollectionView 在其数据源上多次调用collectionView:cellForItemAtIndexPath:。例如,在每个 layoutSubviews 上,所有单元格都被“重新配置”,无论它们是否已经可见。
当collectionView:cellForItemAtIndexPath: 被调用时,我们应该:
您对此方法的实现负责创建, 配置并返回给定项目的适当单元格。 您可以通过调用
dequeueReusableCellWithReuseIdentifier:forIndexPath:的方法 集合视图并传递对应于的重用标识符 你想要的细胞类型。该方法总是返回一个有效的单元格 目的。收到单元格后,您应该设置任何属性 对应对应item的数据,执行任意 额外需要的配置,并返回单元格。
问题是配置单元并不总是一项廉价的操作,我不明白为什么要重新配置已经配置的单元。
我们如何避免单元的冗余配置?还是有什么我没有正确理解的地方?
【问题讨论】:
-
查看collectionView: willDisplayCellAtIndexPath,看看它被调用的次数是多于还是少于cellForItemAtIndexPath。您只需要真正使用 cFIAIP 来分配单元格,wDCAIP 是您应该执行实际显示逻辑的地方。
标签: ios ios6 uicollectionview uicollectionviewcell