我想在Alert中从CoreData中删除一个对象,但是出现了这个错误。我发现的所有内容都是TableView的功能,用Swipe删除它,但我希望它在一个Alert中。感谢帮助。
Cannot call value of non-function type `Set<NSManagedObjekt>`
这个错误意味着什么?我把它作为代码中的NSManagedObject
这里从警报代码中删除一个对象:
DeleteAlert.addAction(UIAlertAction(title: "Delete", style: .Destructive, handler: { (action) -> Void in
let indexPath = self.BookTableView.indexPathForSelectedRow
mgdContext.deletedObjects(book[indexPath!.row] as! NSManagedObject)
do {
try self.mgdContext.save()
} catch {
print("error")
}
}))
答案 0 :(得分:3)
这只是一个错字:deleteObject(
,(没有d
且没有s
),
可能是由于误导性代码完成而发生的。
答案 1 :(得分:1)
deletedObjects
是NSManagedObjectContext
上的一个返回Set<NSManagedObject>
的属性。我不确定你的代码如何编译传递参数,但只需说你应该使用func deleteObject(_ object: NSManagedObject)