iphone - 我真的需要在核心数据中始终存在双向关系吗?

标签 iphone cocoa cocoa-touch macos core-data

Possible Duplicate:
Does every Core Data Relationship have to have an Inverse?

示例:如果我有两个实体 Person 和 Car,并且每个实体都应与一个 Image 实体链接 - 这会是什么样子?

现在,我只会创建三个实体:人、汽车、图像。因此人和汽车可以链接到图像实体。它们与 Image 实体具有 1:1 的关系。

但是现在,一位核心数据人员说关系必须以双向方式建模。这到底是傻还是不傻?那么我需要两个图像实体。汽车图像和人物图像。或者一个奇怪的 Image 实体有两种关系:一种与 Car 实体,一种与 Person 实体。

你会如何建模?

最佳答案

简短版本..

是的,关系需要以双向方式建模。不,这并不意味着您需要两个图像实体。如果一个人与一张图像存在单向关系,并且您删除了该图像(没有反向关系,因此对该人一无所知),那么您的图表现在已损坏。

因此您需要两种关系,但这并不意味着您需要两个图像实体。您的图像只需要一种关系 - “容器”,例如,可以是一个人或一辆汽车(共享的父实体会有所帮助)。

较长的版本.. https://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html#//apple_ref/doc/uid/TP40001857-SW6

关于iphone - 我真的需要在核心数据中始终存在双向关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2974131/

相关文章:

iphone - 在 Ios 中保持代码在后台运行

iphone - 谁能告诉我IOS中调用的区别

iphone - 游戏中心获取 friend 的游戏

cocoa - cocoa 的时间比较

objective-c - Swift:如何通过 SCDynamicStoreCopyConsoleUser 获取控制台用户、UID 和 GID?

ios - 如何将 CGColor 存储在 Core Data 中?

ios - 为什么在 iOS10 上滑动推送通知功能不运行?

macos - "UI updates were forcibly disabled by application"

iphone - 将自定义部分与 NSFetchedResultsController 一起使用?

iphone - 给定字体的字符串长度适合 UITextView 2 - 返回