1

当我编译我的核心数据项目时,我收到了三个警告

我没有设置反向,因为对文件对象的任何更改都不会影响照片对象。我什至不需要从文件对象访问照片对象

 Misconfigured Property:
 Photos.file should have an inverse

 Consistency error:
 Photos.file does not have an inverse; this is an advanced setting (no object can be in multiple destinations for a specific relationship)

我没有设置任何操作,因为对 Factilities 对象的任何更改都不会影响 ParentGroup 对象。但是我需要从 Factilities 对象访问 ParentGroup 对象

Consistency error: 
Setting the No Action Delete Rule on Facilities.parentGroup is an advanced setting

我是要摆脱它们还是可以发出这些警告?

4

2 回答 2

8

如果您不需要建模反向关系是可以的。警告不是错误。他们只是说您负责Apple 文档中突出显示的额外内容(粗体关键部分)。

不一定要在两个方向上对关系进行建模。在某些情况下,不这样做可能很有用,例如,当一对多关系可能具有大量目标对象并且您很少可能遍历该关系时(您可能希望确保不会在关系目的地的大量对象)。但是,不对两个方向的关系进行建模会给您带来大量责任,以确保对象图的一致性、更改跟踪和撤消管理。因此,强烈反对这种做法。通常只对一个方向的一对一关系进行建模才有意义。

无论如何,我认为您也应该能够在此讨论之后修复警告:How to disable no inverse relationship warning for CoreData in Xcode 4.2? .

希望有帮助。

于 2013-03-31T18:55:57.870 回答
0

配置错误的属性可以通过设置反向关系来处理。只是我从不使用这种反比关系。或者它可以像 flexaddict 解释的那样处理。

我最终做了以下没有采取行动

我将 NO ACTION 设置为无效。我这个概念不正确。Nullify 意味着它将从来自目标对象的反向关系中删除源对象。这并不意味着它将一起删除目标对象。

于 2013-04-10T06:38:21.143 回答