关于这些步骤,我有几个问题:首次启动:
1. 获取服务器数据。
2. 将服务器数据保存在Sqlite数据库中。
3. 显示Sqlite数据。后续启动:
1. 显示Sqlite数据。
2. 后台获取服务器数据。
3. 删除之前的Sqlite数据。
4. 将新的服务器数据保存在Sqlite数据库中。
5. 显示Sqlite数据。
1. 这是正确的方法吗?另一种方法是每次都从服务器显示数据,但这不会立即在屏幕上显示数据(取决于互联网速度)。
2. 我还考虑过将
Sqlite
数据与新的服务器数据进行比较。但面临一个巨大的挑战。新的服务器数据可能具有新记录或已删除记录。而且,我无法找到适当的方法来将每个数据库字段与JSON
数据进行比较。那么在比较本地
Sqlite
数据和新的服务器数据方面,哪种是最好的方法?3. 每次我删除
Sqlite
数据并插入新数据,然后刷新屏幕(其中包含一个UITableView
),它会闪烁一秒钟,这是很明显的。 如果按照步骤3、4、5进行,如何避免此问题?4. 如果每次回到屏幕或应用程序再次变为活动状态,我该如何处理数据更新?我非常清楚可以使用
NSOperationQueues
或使用GCD
来处理。但如果我反复在屏幕之间来回移动怎么办?会有很多NSOperations
在队列中。