如何使UITableView并发?

时间:2016-12-05 00:13:14

标签: ios swift uitableview concurrency

UITableView的数据源来自外部服务器。任何人都可以随时更新/删除/添加数据。

问题在于UITableView喜欢在数据不一致时抱怨:

The number of rows contained in an existing section after the update (X) must be equal to the number of rows contained in that section before the update (Y), plus or minus the number of rows inserted or deleted from that section and plus or minus the number

如何创建UITableView,让我可以删除,添加,更新和刷新,而不必保持一致?

我使用Swift 3。

1 个答案:

答案 0 :(得分:1)

"如何创建UITableView,让我可以删除,添加,更新和刷新,而不必保持一致?"

你不是。表视图中显示的模型数据必须与表视图本身匹配。如果从表视图中删除单元格,则必须删除模型中的这些条目,以便在表格视图向数据源询问行/节的信息时,它们会匹配。

您应该在本地缓存服务器数据并使用它来填充表视图。如果用户对本地副本进行了更改,则应使用更改批量更新服务器。

同样,如果服务器更新数据,您应该批量更新本地副本,然后告诉表视图重新加载它的内容。

如果没有对您尝试做的更具体的描述,很难给出具体的答案。