从CoreData中删除对象

时间:2016-01-24 13:33:39

标签: swift core-data delete-row uialertcontroller

我想在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")
            }

       }))

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

deletedObjectsNSManagedObjectContext上的一个返回Set<NSManagedObject>的属性。我不确定你的代码如何编译传递参数,但只需说你应该使用func deleteObject(_ object: NSManagedObject)