SWIFT - Coredata删除关系记录

问题描述 投票:1回答:2

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

请建议任何代码或参考。

我正在尝试这个

func removeList(values: NSSet) {
        var items = self.mutableSetValueForKey("relationEntToB");
        for value in values {
            items.removeObject(value)
        }
    }
ios core-data swift
2个回答
1
投票

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

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


0
投票

试试这个吧。

if let optionArray = YourManagedObject.mutableSetValue(forKey: "yourKey") {   
        for object in optionArray {
            appManageContext.delete(object as! NSManagedObject)
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.