离线数据的同步UITableView / UICollectionView用法

时间:2019-03-25 02:43:21

标签: ios uitableview synchronous

尝试捆扎iOS first = int(input("Enter first number...")) # I input 5 second = int(input("Enter second number...")) # I input 6 operator = input("Spell out: add, subtract, multiply, or divide...") # I input add if operator == "add": print("Your answer is ", first + second) 视图来完成我需要的工作时,我玩得很开心。本质上,我有一些与本地交互的数据-没有网络延迟,并且所有操作都很琐碎,无法同步完成。

但是,默认情况下,这些类中的数据重新加载似乎是异步发生的,没有明显的方式来同步使用它们。 UITableView/UICollectionView似乎是在没有用户交互(例如滚动)的情况下强制进行更新的唯一方法,但是它是异步的,没有明显的同步替代方法。

这些类提供了很多功能(尤其是拖放功能),但是当用户直接操作数据时明显的延迟有点令人不寒而栗。例如,在用户更改数据时强制将View的reloadData()强制为其他类的实验无法达到使用这些类的目的,并使情况变得更加复杂。

有没有办法在很大程度上同步使用这些类?

1 个答案:

答案 0 :(得分:0)

Crikey-经过数小时的尝试,提出了一个愚蠢的问题,答案在5分钟后出现。

我意识到这里的错误不是与TableView的及时更新有关,而是关于dataSource在应清除数据时保留数据的错误。

据我所知-reloadData确实是异步发生的,但是在相当短的渲染周期内,这对于用户来说是不可感知的。

正如@ Paulw11所指出的,如果您不对每个突变的数据集(就像我一样)进行操作,更好的方法是通过基于行的操作