Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UICollectionView每秒重新加载一次_Ios_Objective C_Uicollectionview - Fatal编程技术网

Ios UICollectionView每秒重新加载一次

Ios UICollectionView每秒重新加载一次,ios,objective-c,uicollectionview,Ios,Objective C,Uicollectionview,我的运动应用程序记录了谁在场上和场下以及出场时间。在训练期间,我通常有20-30人可以交换。我有一个计时器,可以每秒重新加载集合视图的可见单元格。整个集合视图重新加载的成本可能在120-150毫秒之间 滚动性能很好,但是,有时点击交换播放器时没有响应。我认为这就是collection视图试图重新加载单元格的时候 我认为可能有两种方法: 使用UITableView,每行有4个不同的元素 使用UIScrollView,并在其中预加载所有元素。我们以前在这里使用图书馆,但它已经过时了。这就是为什么我

我的运动应用程序记录了谁在场上和场下以及出场时间。在训练期间,我通常有20-30人可以交换。我有一个计时器,可以每秒重新加载集合视图的可见单元格。整个集合视图重新加载的成本可能在120-150毫秒之间

滚动性能很好,但是,有时点击交换播放器时没有响应。我认为这就是collection视图试图重新加载单元格的时候

我认为可能有两种方法:

  • 使用UITableView,每行有4个不同的元素
  • 使用UIScrollView,并在其中预加载所有元素。我们以前在这里使用图书馆,但它已经过时了。这就是为什么我们在6-7年后转向UICollectionView
是否有人遇到过同样的问题,以及哪种方法应该提供可接受的效率水平,但不会太复杂而无法实现(以减少bug的数量)


保留需要更新的单元格索引记录,然后从集合视图中获取单元格,调用方法要求其自身更新,将视图更新推送到单元格类,它不会干扰集合视图点击/拖动


重新加载整个
collectionView
仅在整个数据源发生更改时才需要,我注意到,您只需逐个单元进行更新

您可以在滚动时禁用重新加载,例如,这不会有帮助,我在滚动时没有问题哇,抱歉,错过了。您可以自己重新加载单元格,而不需要集合视图来执行此操作。为什么不更新单元格的视图,而不是重新加载整个可见单元格?也许您可以显示一些代码,因为不清楚您正在重新加载什么;重新加载整个集合视图不是一个好主意。