核心数据:删除最后一个具有一对多关系的实体

Posted

技术标签:

【中文标题】核心数据:删除最后一个具有一对多关系的实体【英文标题】:Core Data: Delete the last entity with one to many relationship 【发布时间】:2014-04-21 12:35:13 【问题描述】:

在我的应用中,我有两个实体:

多个“活动”内部有记录。 当我删除活动中的最后一个 ActivityRecord 实体时,我还想删除活动实体。我确实“取消”了 whichDate 但未删除活动的删除规则。

结果在这里:

【问题讨论】:

【参考方案1】:

如果您想在没有更多ActivityRecords 的情况下删除Activities,那么...您必须删除Activities。在 Core Data 中无法自动执行此操作。如果您不想拥有任何没有相关ActivityRecords 的Activities 对象,那么您需要编写自己的代码来删除它们。

当您要删除ActivityRecord 时,您需要检查相关的Activities。如果它没有更多的活动记录,也将其删除。

【讨论】:

这个答案+1。这可以通过编写用于删除的通用方法轻松扩展,以便您也可以将其用于其他实体/关系。 是的,没有办法在 Core Data 中自动执行此操作。非常感谢。

以上是关于核心数据:删除最后一个具有一对多关系的实体的主要内容,如果未能解决你的问题,请参考以下文章

使用核心数据,当一对多关系低于最小计数时,是一种自动删除实体的方法吗?

核心数据 - 具有一对多关系的实体正在检索除“关系”实体之外的所有实体对象的属性

快速获取具有一对多关系的核心数据

iphone核心数据:无法删除具有一对多关系的数据

获取核心数据中一对多关系的计数

涉及新实体和一对多关系的核心数据迁移