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
对象(其中B
到removeList(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删除关系记录的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 删除 coredata 中的特定记录?