目的:我必须从文件中创建实体。
因此,实体在 CoreData 中代表我的数据模型,并且文件包含该实体的所有信息。
我从 Internet 获得的所有文件。为此,我使用 AFNetworking 框架。
我如何获取文件(算法):
- 请求 plist 文件。Plist 文件具有我必须下载的其他 url 的值。
- 当 plist 下载到设备上的我的 Documents 目录时。我解析它。
- 当我解析 plist 时,我从 NSDictionary 中代表此 plist 的每个项目中获取 url。
- 然后我从这个 url 请求 zip 文件。
- 下载 zip 文件后,我将它们解压缩并转到下一步。
- 解析解压缩文件并创建数据模型。
这是我的问题。我有存储在本地和存储在服务器上的文件版本,当服务器上的版本发生变化时,我需要用实际数据重新加载我的数据模型。不好的方法是再次从服务器加载所有数据,然后删除存储中的所有实体并从新数据中创建新实体。但这首先不是专业的方式,其次它是对流量的额外负担,因为如果我只有一个需要重新加载的实体,为什么我必须重新加载处于实际状态的其他实体。所以也许有人知道这个问题的最佳实践。当然,我可以创建我的解决方案并且它会起作用,但我想看看人们如何解决这个问题,并找出我的解决方案和其他解决方案的差异。