SWIFT - Coredata删除关系记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SWIFT - Coredata删除关系记录相关的知识,希望对你有一定的参考价值。

我正在使用表A中的核心数据与表B中的一对多。尝试从表B中删除与表A中的记录相关的记录。当我尝试删除时,它只删除关系,即关系ID表B的记录。不删除记录。

请建议任何代码或参考。

我正在尝试这个

func removeList(values: NSSet) {
        var items = self.mutableSetValueForKey("relationEntToB");
        for value in values {
            items.removeObject(value)
        }
    }
答案

我相信pbasdf是正确的。如果你试图通过调用函数B来删除A对象(其中BremoveList(values: NSSet)是一对多的关系),你需要使用NSManagedObjectContext.deleteObject()实际上从数据存储中删除对象。

如果你考虑一下,NSMutableSet.removeObject()只会从NSSet中删除对象,而不是从对象存储中删除。因此,您要删除的条目将保留。

另一答案

试试这个吧。

if let optionArray = YourManagedObject.mutableSetValue(forKey: "yourKey") {   
        for object in optionArray {
            appManageContext.delete(object as! NSManagedObject)
        }
    }

以上是关于SWIFT - Coredata删除关系记录的主要内容,如果未能解决你的问题,请参考以下文章

Coredata / SWIFT 获取有关系的记录

如何使用 Swift 删除 coredata 中的特定记录?

CoreData 不会删除自动生成的关系表中的记录

iphone coredata 删除通过关系连接的两个实体之间的记录

在 Swift 中删除表格视图的核心数据记录(行)

CoreData 关系不一致(Swift)