从 CoreData 中删除对象

Delete Object from CoreData

我想在警报中从 CoreData 中删除一个对象,但出现了这个错误。我所发现的只是 TableView 中使用滑动删除它的功能,但我希望它出现在警报中。感谢帮助。

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")
            }

       }))

这只是一个错字:deleteObject(,(没有 d 也没有 s),
可能是由于误导性代码完成而发生的。

deletedObjectsNSManagedObjectContext 上的 属性,returns 是 Set<NSManagedObject>。我不太确定你的代码是如何编译传递参数的,但足以说明你应该使用 func deleteObject(_ object: NSManagedObject)