加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – Xcode一致性错误:设置无操作删除规则…是高级设置

发布时间:2020-12-15 01:59:40 所属栏目:百科 来源:网络整理
导读:在Xcode中创建数据模型之后,它会为每个对象关系抛出以下错误: Consistency Error:Setting the No Action Delete Rule on [object relationship] is an advanced setting 什么是Xcode试图告诉我,我该怎么回应? 解决方法 核心数据使用反向关系和删除规则来
在Xcode中创建数据模型之后,它会为每个对象关系抛出以下错误:

Consistency Error:
Setting the No Action Delete Rule on [object relationship] is an advanced setting

什么是Xcode试图告诉我,我该怎么回应?

解决方法

核心数据使用反向关系和删除规则来保持对象图一致

假设你有A.foo< 1-1> B.bar并做a.foo = b。这会自动(有效地)执行b.bar = a。

现在让我们说你[b删除]。使用“无效”规则,b.bar.foo = nil有效。使用“cascade”,它会执行[b.bar delete]。用“不行动”,什么都不做; a.foo现在是一个“悬挂的Core Data对象引用”。

这不是一个悬挂指针标准内存管理规则意味着b在内存中仍然存在,而a指向它(直到变成故障),但是a.foo将永远引用一个已删除的对象,当您尝试访问其属性时会引发异常。我不知道当您保存并重新获取时会发生什么。

随着多对多的关系,它变得更加复杂。实施细节:这种关系似乎是由一个实体“拥有”,只有当该实体被保存时才被保存(当尝试在不同MOC之间建立关系时遇到这个错误:保存的MOC不拥有更新的实体,所以关系从未保存)。显然,当你删除a和b时,关系也应该被删除,所以假定关系消失只有一个被删除(但你不知道哪一个!)。

你可能需要Nullify或Cascade。我从来没有使用Cascade,因为我永远不会记得级联发生的方向。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读