ios - 使用来自 Web 服务的更新数据(包括关系)更新核心数据
问题描述
我正在构建一个从 Web 服务获取大量数据的应用程序。该应用程序由彼此有关系的不同条目组成。举个例子,假设我正在构建一个电视节目跟踪应用程序,所有数据都来自网络服务,但我想将剧集标记为已观看,这是迄今为止一个条目的自定义属性。所有这些都保存在 Core Data 中。我有这些条目:
- 显示⇒有许多季节和剧集
- 季节⇒有很多集和一个节目
- 情节⇒有一个节目和一个季节
我目前正在努力解决的主要部分是,当网络服务具有数据的更新版本时,我如何才能最好地更新所有这些条目(也许节目有一个新的季节或修复了一些错误的数据)。此时,这些条目上唯一与 Web 服务提供的数据不同的自定义属性是我在 Episode 条目上创建的 watch 属性。
到目前为止,我尝试了不同的方法,例如删除旧数据并仅添加新数据(此处的自定义监视属性是一个问题),并且我还研究了合并策略,例如NSMergeByPropertyObjectTrumpMergePolicy
,但这对关系并不好,我得到了那里的路障。
有没有更好的方法或最佳实践来解决这个问题?
解决方案
推荐阅读
- html - 颜色没有被添加到第一个跨度
- python - 如何将包含从网站解析的多个链接的嵌入消息发送到 webhook?
- java - 将 android.support.v4.util.ArraySet 替换为 Maven 库中的 androidx.collection.ArraySet
- node.js - 在 webpack 中启用 --display-error-details 以调试模块导入
- exception - 什么时候捕捉异常,早点还是晚点?
- xcode - Bazel 无法运行 xcrun 但 xcode 和 xcrun 已在本地正确安装
- php - 是否可以使此 ASP.NET 到 ASP.NET SSO 功能与 ASP.NET 到 PHP 一起使用?
- javascript - 为什么一个反斜杠的 JSON.parse 返回两个反斜杠,而不是四个反斜杠
- vowpalwabbit - cb_explore 输入格式:在训练中使用提供概率值
- python - 如何使两台印刷机在 tkinter 中产生相同的输出