我还是 Core Data 的新手,所以请原谅这个问题。
我正在构建一个应用程序(为了简单起见),它允许人们“挑战”自己和他人。我需要在本地存储用户已经接受的挑战,以便他可以离线浏览他们的详细信息。但是,当应用程序在线时,我会向服务器发出请求以显示可用挑战、已接受挑战的新细节等。因此需要进行一些同步,但我试图将其保持在最低限度.
现在我的问题是如何构建数据。我是不是该:
(1) 仅对存储在设备上的数据有一个核心数据模型;然后只为从服务器解析的挑战构建模型类,并在我的表视图中显示一系列挑战对象?
(2) 两者都有一个单一的核心数据模型,但以某种方式区分本地的挑战和暂时的挑战?
(3) 有两个持久存储,一个用于每个目的?
选项 2 和 3 显然具有使用 NSFetchedResultsController 的优势,但编码和维护可能更复杂。
而且,关于同步问题,我应该:
(4) 保留我上次更新本地挑战的时间戳,并将其与服务器上的时间戳匹配,看看我是否需要将新的细节推送到服务器?
(5) 保存一组键路径和更改,然后在互联网连接再次可用时将其推送到服务器。
解决这两个问题的最佳方法是什么。
非常感谢!