核心数据:没有目标实体的关系?
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 添加到另一个具有反向多对多核心数据关系的对象?