Ios 脱机数据的同步UITableView/UICollectionView使用
我在尝试与iOSIos 脱机数据的同步UITableView/UICollectionView使用,ios,uitableview,synchronous,Ios,Uitableview,Synchronous,我在尝试与iOSUITableView/UICollectionView视图进行争论以完成我需要的工作时玩得很开心。本质上,我有一些与本地交互的数据-没有网络延迟,操作都非常简单,可以同步完成 但是,在默认情况下,重新加载这些类中的数据似乎是异步的,没有明显的同步使用方法reloadData()似乎是在没有用户交互(如滚动)的情况下强制更新的唯一方法,但它是异步的,没有明显的同步选项 这些类提供了很多功能(特别是拖放功能),但是当用户直接操作数据时,明显的延迟有点破坏交易。例如,当用户更改数据时
UITableView/UICollectionView
视图进行争论以完成我需要的工作时玩得很开心。本质上,我有一些与本地交互的数据-没有网络延迟,操作都非常简单,可以同步完成
但是,在默认情况下,重新加载这些类中的数据似乎是异步的,没有明显的同步使用方法reloadData()
似乎是在没有用户交互(如滚动)的情况下强制更新的唯一方法,但它是异步的,没有明显的同步选项
这些类提供了很多功能(特别是拖放功能),但是当用户直接操作数据时,明显的延迟有点破坏交易。例如,当用户更改数据时,将视图的数据源
强制到另一个类中,这样的实验会破坏使用这些类的目的,并使情况更加复杂
是否有任何方法可以以基本同步的方式使用这些类 Crikey——试了几个小时后问一个愚蠢的问题,5分钟后就会有答案 我意识到我在这里的错误不是TableView及时更新,而是在
dataSource
上保留了本应清除的数据
正如我所看到的-重新加载数据
确实是异步发生的,但是在相当短的渲染周期内,这对于用户来说应该是不可察觉的
正如@Paulw11所指出的,更好的方法是通过基于行的操作,如果你没有对每个突变的数据集进行核处理(就像我一样)Crikey-尝试数小时后问一个愚蠢的问题,5分钟后就会得到答案 我意识到我在这里的错误不是TableView及时更新,而是在
dataSource
上保留了本应清除的数据
正如我所看到的-重新加载数据
确实是异步发生的,但是在相当短的渲染周期内,这对于用户来说应该是不可察觉的
正如@Paulw11所指出的,更好的方法是通过基于行的操作,如果您没有在每个变异上对数据集进行nuking(如我所做的),除非您从根本上改变整个数据集(如您提到的切换
数据源时),应该避免重新加载数据。您可以使用reloadRows
、insertRows
和deleteRows
以更精细的方式进行更改。也许你可以用一个具体的例子来澄清你的问题,说明你正在尝试做什么,以及你在tableview方法中遇到的问题?除非你从根本上改变整个数据集(如你提到的切换dataSource
),否则应该避免reloadData
。您可以使用reloadRows
、insertRows
和deleteRows
以更精细的方式进行更改。也许您可以用一个具体的例子来澄清您的问题,说明您正在尝试做什么,以及您在tableview方法中遇到的问题?