【发布时间】:2014-04-16 10:03:55
【问题描述】:
我正在使用一个显示对象数组的 CollectionView。 单击按钮时,我用一组新数据填充此数组。 我想用这些数据刷新 CollectionView。 是否有任何声明来更新它而不是比较每个项目并有选择地删除和添加? reloadData 通常会出现以下错误。
CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION
简而言之,我正在寻找以下步骤... 1)填充数据源数组,显示数据。 2)用新数据填充数据源数组,刷新CollectionView以显示数据。
提前致谢
【问题讨论】:
-
CollectionView 的行为类似于 tableView。您只需准备数据源,然后在加载时显示 collectionView。然后,您可以随时更改数据源,或者重新加载数据以完全重新加载,或者重新加载单个项目。因此,由于您的错误,您在数据源中做错了什么,无论是在 cellForItem 还是 numberOfItems/numberOfSections 中。只需调试它所在的位置。
-
我们为什么要使用 performBatchUpdates ?