Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 核心数据-拒绝删除导致错误的规则_Xcode_Ios5 - Fatal编程技术网

Xcode 核心数据-拒绝删除导致错误的规则

Xcode 核心数据-拒绝删除导致错误的规则,xcode,ios5,Xcode,Ios5,我有一个运行良好的核心数据应用程序。我现在尝试将删除规则添加到几个关系中 实体1有一组实体2 如果删除了实体1,并且它有一些实体2对象,请拒绝删除,否则允许删除。 可以删除实体2,而不用担心实体1 我将实体1上的关系设置为Deny,实体2的关系设置为nullify 我当前在尝试删除实体1时出错 [quote]未解决的错误域=NSCOCAERRORDOMAIN Code=1600“该操作无法完成。(可可错误1600)。”用户信息=0x1e882f40{NSValidationErrorObject

我有一个运行良好的核心数据应用程序。我现在尝试将删除规则添加到几个关系中 实体1有一组实体2

如果删除了实体1,并且它有一些实体2对象,请拒绝删除,否则允许删除。 可以删除实体2,而不用担心实体1

我将实体1上的关系设置为Deny,实体2的关系设置为nullify

我当前在尝试删除实体1时出错 [quote]未解决的错误域=NSCOCAERRORDOMAIN Code=1600“该操作无法完成。(可可错误1600)。”用户信息=0x1e882f40{NSValidationErrorObject=(实体:工厂;id:0x1dda43e0[/quote]


我是否必须执行其他操作才能使其正常工作

以下情况为真时,您将生成一个1600错误:

  • 拒绝删除规则在从实体1到实体2的关系中有效
  • 您已删除实体1对象
  • Entity1.entity2上有一个相关对象
  • 您试图将上下文保存到持久存储
在删除实体1对象之前,应检查Entity1.entity2是否为空。如果不是空,请执行以下任一选项:

  • 跳过删除实体1对象,或
  • 清除Entity1.entity2对象,然后删除Entity1对象

拒绝规则不能像您预期的那样工作。从苹果的文档:

如果规则为“拒绝”,则在删除对象之前,必须从关系中删除一个或多个目标对象,否则保存时将出现验证错误


不幸的是,拒绝规则并不能阻止删除,但会导致验证错误。因此,在删除之前,您应该手动检查关系是否为空。

在我删除了
详细信息
对象后,该错误发生在我身上,该对象对其
关系具有
无效
规则。同时
master
在与
详细信息的关系上具有
级联
规则。在我将
详细信息
的规则从
无效
更改为
无操作后,错误消失


我仍然觉得奇怪。无法理解错误的原因。

找到了它,如果您提供文档的url,NSValidationRelationshipDeniedDeleteError会很好,因此拒绝删除规则应该被视为更安全的网络,不允许您删除不希望删除的数据?