首页 > 解决方案 > 使用来自 Web 服务的更新数据(包括关系)更新核心数据

问题描述

我正在构建一个从 Web 服务获取大量数据的应用程序。该应用程序由彼此有关系的不同条目组成。举个例子,假设我正在构建一个电视节目跟踪应用程序,所有数据都来自网络服务,但我想将剧集标记为已观看,这是迄今为止一个条目的自定义属性。所有这些都保存在 Core Data 中。我有这些条目:

  1. 显示⇒有许多季节和剧集
  2. 季节⇒有很多集和一个节目
  3. 情节⇒有一个节目和一个季节

我目前正在努力解决的主要部分是,当网络服务具有数据的更新版本时,我如何才能最好地更新所有这些条目(也许节目有一个新的季节或修复了一些错误的数据)。此时,这些条目上唯一与 Web 服务提供的数据不同的自定义属性是我在 Episode 条目上创建的 watch 属性。

到目前为止,我尝试了不同的方法,例如删除旧数据并仅添加新数据(此处的自定义监视属性是一个问题),并且我还研究了合并策略,例如NSMergeByPropertyObjectTrumpMergePolicy,但这对关系并不好,我得到了那里的路障。

有没有更好的方法或最佳实践来解决这个问题?

标签: iosswiftcore-datansmergepolicy

解决方案


推荐阅读