加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

核心数据 – 删除Swift 3中核心数据实体中的所有数据

发布时间:2020-12-14 05:22:27 所属栏目:百科 来源:网络整理
导读:有没有办法对核心数据中所有实体存储的所有数据进行批量删除? 我读到某个地方,在iOS 9或10中,苹果推出了一种方式来进行批量删除,但是我似乎找不到任何好的信息. 最终,我只需要一个通过实体的功能,并删除其中的所有数据.看起来应该是简单的,但它的文档/教程
有没有办法对核心数据中所有实体存储的所有数据进行批量删除?

我读到某个地方,在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)

请注意,批处理请求不会更新您当前的任何应用状态.如果您在内存中管理受到删除影响的对象,则需要立即停止使用它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读