有没有办法对核心数据中所有实体存储的所有数据进行批量删除?
我读到某个地方,在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() }
这似乎不行.如果我关闭项目并重新打开,数据仍然存在.我假设这也是为什么表视图不更新,因为数据实际上没有被删除.
您正在考虑在iOS 9中添加的NSBatchDeleteRequest.创建如下所示:
let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "Employee") let request = NSBatchDeleteRequest(fetchRequest: fetch)
如果您只想删除与谓词匹配的实例,那么也可以添加谓词.运行请求:
let result = try managedObjectContext.executeRequest(request)
请注意,批处理请求不会更新您当前的任何应用状态.如果您在内存中管理受到删除影响的对象,则需要立即停止使用它们.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。