0

我正在使用一个挂钩到休息 API 的 UITableView。

首次启动时,应用程序会检索 UITableView 将显示的数据并将其解析到 Core Data 数据库中。

这适用于小型数据集。但是当数据集增长到超过 300-500 个项目时,它的表现就不是很好了。需要几分钟才能完成下载+解析。在此期间应用程序不会死锁,但用户可能不会等待解析完成。

然后我决定使用分页。所以现在,我只检索最新的 20 个项目,然后用户可以单击“加载更多”以进一步返回。数据被缓存。

这似乎运作良好,除了一个问题。

因为我没有在每次加载时下载所有数据,所以我无法判断何时在服务器上删除了某个项目,也无法判断某个项目何时更改(例如标题可能已更改)。

任何人都可以向我提供解决此问题的任何建议吗?

谢谢。

4

1 回答 1

0

我们通常会请求相似数量的项目并将其显示在表格视图中。然而,在我们的例子中,API 返回 JSON,我们将其存储在模型对象中,而不是 Core Data。下载数据后,从 JSON 到出现在表中只需不到一秒钟的时间。对于实际上不是数据库的任何东西,或者没有为过去的用户会话保留的东西,Core Data 都是一个坏主意。但是您需要确定交易的哪一部分实际上花费的时间最多。在我们的例子中,它是 API 背后的后端,但是一旦它出现,一切都很快。

此外,在我们的案例中,数据约为 700K,我们将很快对其进行 GZIP 压缩,以进一步减少网络时间。

于 2013-01-21T13:53:44.750 回答