如何删除与另一个托管对象关联的托管对象

Posted

技术标签:

【中文标题】如何删除与另一个托管对象关联的托管对象【英文标题】:How to delete Managed Objects associated with another Managed Object 【发布时间】:2015-09-08 19:52:37 【问题描述】:

我可能没有正确询问,但基本上我有两个Managed Object Subclass 一个称为Folder 另一个用于Items 创建不同的购物清单。每个Folder 有多个Items,每个Item 有一个Folder

我遇到的问题是,当我删除 Folder 时,与之关联的 Items 也没有被删除,持久性存储中仍然存在

有人知道我如何在删除Folder 时也删除与Folder关系Items 吗?

文件夹:

class Folder: NSManagedObject 

@NSManaged var arrayOfItems: [Items]
@NSManaged var date: NSDate
@NSManaged var title: String
@NSManaged var Items: NSSet 

 

项目

class Items: NSManagedObject 

@NSManaged var date: NSDate
@NSManaged var index: NSNumber
@NSManaged var item: String
@NSManaged var folder: Folder


删除文件夹:

context.deleteObject(self.selectedNotebook)

// Save the context.
  do 
       try context.save()
      catch 
       print("error saving")
     

【问题讨论】:

【参考方案1】:

转到您的数据模型文件,选择关系,然后在右侧面板上选择删除规则级联

另外,这个page可以帮助你更好地理解核心数据

【讨论】:

以上是关于如何删除与另一个托管对象关联的托管对象的主要内容,如果未能解决你的问题,请参考以下文章

如何安全地删除未保存的托管对象?

如何删除子托管对象上下文中的临时对象?

如何取消删除 Core Data 中标记为删除的托管对象?

如何从 RestKit 托管对象存储中删除对象

如何在关系变空时删除托管对象

如何“告诉”父上下文必须删除和/或插入哪些托管对象?