SWIFT - 核心数据删除关系记录

时间:2014-11-19 05:48:10

标签: ios core-data swift

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

请建议任何代码或参考。

我正在尝试这个

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

试试这个。

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