有没有办法批量删除存储在核心数据中所有实体中的所有数据?在Swift 3中删除核心数据实体中的所有数据
我在iOS 9或10的某处读到苹果介绍了一种批量删除的方法,但我似乎无法找到任何有用的信息。
最终,我只需要一个通过实体的函数,并删除其中的所有数据。看起来它应该很简单,但是它的文档/教程已经证明非常难以找到。
有什么想法?
编辑
我添加以下代码附加到按钮的IBAction为:
@IBAction func clearAllData(_ sender: AnyObject) {
let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "PLProjects")
let request = NSBatchDeleteRequest(fetchRequest: fetch)
//get the data from core data
getPLData()
//reload the table view
tableView.reloadData()
}
这似乎并不但是工作。如果我关闭该项目并重新打开它,数据仍然存在。我假设这也是为什么表视图不更新,因为数据实际上并未被删除。
我编辑我的职务,以表明我使用的代码 - 但似乎并没有为我工作。基本上我有一个UITableView加载到我的视图控制器中,并且我在一个名为“PLProjects”的实体中显示所有“项目”。我在屏幕上还有一个按钮实例,并且与它关联的IBAction。我评论中的更新显示了该IBAction中的代码 - 未能从Core Data Entity中删除项目,也未能更新表格。 –
创建请求是不够的。你也必须执行它。请求不会自动运行,它们会在您告诉它们运行时运行。 –
啊,对不起。我误解了你最初发布的内容。我认为代码的第二部分是添加一个谓词。所以 - 就这么说 - 在第二个片段中,什么是“moc”? –