核心数据:没有目标实体的关系?

Posted

技术标签:

【中文标题】核心数据:没有目标实体的关系?【英文标题】:Core Data: Relationship without destination entity? 【发布时间】:2013-07-15 18:23:52 【问题描述】:

是否可以在不指定特定的自定义 NSManagedObject 作为目标实体的情况下创建关系?

例如,我想创建一个名为 SyncInfo 的 NSManagedObject 子类,它将包含有关与 Parse 或其他第三方基于云的数据库的同步和同步选项的属性。 SyncInfo 将拥有一个名为 managedObject 的关系,然后我可以指向我希望与 Parse 同步的任何 NSManagedObject。这个想法是,在确定哪些对象需要与 Parse 同步时,我可以从 Core Data 获取SyncInfo 对象,而不是数据对象本身。 SyncInfo 对象和 NSManagedObject 之间的关系始终是 1:1。

这是我第一次尝试将我的 iPhone 应用程序上的数据与第三方服务器同步,如果我在架构上的最佳尝试不正确,我深表歉意。为了自学,我遵循了 Ray Wenderlich 的教程并开始使用它,现在我正在尝试为我的应用构建一个更强大的版本。

【问题讨论】:

【参考方案1】:

只需创建一个具有SyncInfo 关系的父实体,并将所有其他实体都基于该关系。

查看“实体继承”here。

【讨论】:

如果您使用SQLite 后备存储,这将导致一个大(稀疏)表,并且可能会影响性能。

以上是关于核心数据:没有目标实体的关系?的主要内容,如果未能解决你的问题,请参考以下文章

“子类”核心数据模型

核心数据:创建关系 [重复]

核心数据 - 与目标规范共享模型?

核心数据获取请求关系属性谓词

加入没有任何定义关系的核心数据实体

如何在不复制目标 NSManagedObject 的情况下将目标 NSManagedObject 添加到另一个具有反向多对多核心数据关系的对象?