当调用cellForItem(at :)时,UICollectionView是否在引擎盖下使用其dataSource?

时间:2017-12-04 21:35:50

标签: ios uicollectionview uicollectionviewcell

因此UICollectionViews公开方法cellForItem(at:),它允许我们访问集合视图中包含的单元格。

我们也知道collectionView使用其数据源的collectionView(_:cellForItemAt:)方法来创建和配置其单元格。

但是,在调用collectionView(_:cellForItemAt:)时,使用断点似乎永远不会调用cellForItem(at:)。这里发生了什么?集合视图是否必须访问其数据源才能知道要返回的单元格?它是否在某个时刻缓存了所有单元格,如果是什么时候缓存发生呢?

1 个答案:

答案 0 :(得分:1)

如果单元格不在屏幕上,

cellForItem(at:)会返回nil,因此无需调用collectionView(_:cellForItemAt:)来获取单元格。如果它在屏幕上,它只返回单元格,否则返回nil