我对核心数据非常熟悉,但我还没有找到核心数据关系的任何实际用途。我从概念上知道他们应该做什么,但他们似乎并没有强制执行任何事情。标准概念,例如主键/外键,级联删除,删除由于关系约束而不应该执行的值似乎不会被强制执行。
我读错了吗?核心数据关系实际上是否具有可执行的约束?
答案 0 :(得分:4)
您似乎在考虑使用SQL风格的核心数据,这是一个错误。它的API不是SQL-ish,即使它经常被用作类似数据库的东西。
最直接 - 外键不是"标准概念"除非您假设Core Data应遵循SQL规则。核心数据中的关系通常使用代替外键。您可以使用该关系指示一个对象与某个其他对象相关。它类似于SQL如何使用外键将一个表中的条目与另一个表中的条目相关联,但它不是一回事。
它们是否用于现实世界"?当然 - 如果核心数据没有关系,那么核心数据就没那么有用了。它们是具有属性的对象的核心数据等价物,该属性也是某种对象。
答案 1 :(得分:2)
是的,您可以通过设置不同的删除规则来控制关系。
有关可用配置点的更多信息,请参阅本指南:Creating Managed Object Relationships
值得注意的是,规则仅在save()
期间执行。