Swift 3 核心数据删除对象

2023-12-01

不幸的是,新的核心数据语义让我发疯。我之前的问题有一个干净的代码,但由于头文件的自动生成不正确而无法工作。现在我继续删除对象的工作。 我的代码看起来很简单:

func deleteProfile(withID: Int) {
    let fetchRequest: NSFetchRequest<Profile> = Profile.fetchRequest()
    fetchRequest.predicate = Predicate.init(format: "profileID==\(withID)")
    let object = try! context.fetch(fetchRequest)
    context.delete(object)
} 

我做了一个“硬”调试print(object)代替context.delete(object)它向我展示了正确的物体。 所以我只需要删除它。

附:没有deleteObject。现在 NSManagedContext 只有public func delete(_ sender: AnyObject?)


获取的结果是array就您而言,管理对象的数量[Event],因此您可以枚举数组并删除所有匹配的对象。 示例(使用try?代替try!以避免案件发生事故 获取错误):

if let result = try? context.fetch(fetchRequest) {
    for object in result {
        context.delete(object)
    }
}

do {
    try context.save()
} catch {
    //Handle error
}

如果不存在匹配的对象,则获取成功,但结果 数组为空。


Note:在你的代码中,object有类型[Event]因此在

context.delete(object)

编译器创建一个调用

public func delete(_ sender: AnyObject?)

的方法NSObject而不是预期的

public func delete(_ object: NSManagedObject)

的方法NSManagedObjectContext。这就是你的代码编译的原因 但在运行时失败。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3 核心数据删除对象 的相关文章

随机推荐

  • 在powershell中添加5分钟进度条

    我想在我的 Powershell 脚本中添加 5 分钟进度条 我找不到同时运行进度条和脚本其他部分的解决方案 有人可以帮忙吗 我需要实现任何线程吗 谢谢 这是进度条 seconds 60 minutes seconds 5 1 minute
  • Razor 代理类型错误。系统.数据.实体.动态代理

    我有一个 User 类 然后是另一个具有一些特殊用户属性的 UserSpecial 类 我将它在 razor 中传递给部分方法类以创建 UserSpecial 表单 该表单需要 User Special 类型的对象 但出现错误 model
  • 使用带有 Rsocket 和 Spring Webflux 的 websocket 仅向特定客户端发送消息

    我正在尝试在我的一个 POC 项目中将 Rsocket 与 websocket 一起使用 就我而言 不需要用户登录 当我收到来自其他服务的消息时 我只想向某些客户端发送消息 基本上 我的流程是这样的 Service A Service B
  • Python selenium 使用 xpath 和 for 循环提取元素

    我正在使用 Python Selenium 从网站中提取一些文本 以便在 Google 表格中进一步对其进行排序 我需要提取 15 个标题的文本 该文本位于标签 h5 中的每个标题下 这是标题的一段摘录 tr class dayHeader
  • MVC 6 EF 7 属性的列表框未填充

    我已经尝试了一段时间来填充列表框 但我似乎无法弄清楚 我已经相当广泛地研究了实体框架 7 文档 但我对它仍然很陌生 目前还没有很多针对 MVC6 EF7 的教程 因此很难知道将一个实体类与另一个实体类的实例关联的最佳实践是什么 请原谅问题的
  • Silverstripe 管理员:“有一个”下拉列表在导入后转换为普通输入字段

    我在 Silverstripe 的管理方面遇到一些问题 我定义了一个数据库模型 请参阅下面的类定义 在进行开发 构建后 一切都按预期进行 当我尝试添加新的 包 时 所有 有一个 字段都带有下拉菜单 参见屏幕截图 1 我还构建了一个导入这些包
  • 如何在 Javascript 中获取一天的开始和结束?

    如何以时间戳 GMT 获取今天的开始 00 00 00 和结束 23 59 59 计算机使用当地时间 var start new Date start setUTCHours 0 0 0 0 var end new Date end set
  • 无法使用我的 Digital Ocean Droplet 的 IP 地址访问我的网站

    我正在将我的 MERN 应用程序部署到 Digital Ocean Droplet Ubuntu 20 04 服务器 我已经克隆了我的 GitHub 存储库 安装了依赖项和 pm2 I start the server using the
  • XSLT 1.0 无法翻译撇号

    我的 XML 中有以下内容
  • Windbg设置条件断点

    我想在windbg中放置一个条件断点 例如 我们可以说 LoadLibrary API 我怎样才能设置断点 以便在加载 user32 dll 时就应该设置断点 gt x kernel32 LoadLibraryW 它将给出一些地址 XXXX
  • 跨类型转换维护计量单位

    如果我们定义一个测量单位 例如
  • Android:查找内存泄漏的工具? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有没有一些有用的工具可以检测 Android Java 应用程序中的内存泄漏 类似于 Valgrind 的东西 其中显示了非释放对象的创建位置 看这
  • 在 Liferay 6.2 中使用 Bootstrap 3.3.6

    我正在 Liferay 6 2 中使用 Bootstrap 3 我在CSS和JS中插入了bootstrap css和bootstrap min js 我还更改了 custom css 中的一些样式 incompatilibilidad 你对
  • 如何更改面板的 BorderStyle?

    我有一个面板System Windows Forms Panel 有财产 BorderStyle FixedSingle 它以灰色边框渲染 I need 如果可能的话 能够设置边框的颜色和厚度 我很想知道是否也可以完全隐藏边界 知道如何解决
  • 使用 scikit-image 和 RANSAC 稳健估计多项式几何变换

    我想用 scikit image skimage transform 和 skimage measure ransac 稳健地估计多项式几何变换 ransack 文档提供了一个非常好的示例 说明如何通过相似性变换来实现这一点 事情是这样的
  • 需要特定字符串作为 TypeScript 界面中的可选键

    我遇到过这样的情况 我可以将许多可选的 T 恤大小的道具添加到一个对象中 有没有办法定义一个类型并将其设置为接口中可选键的类型 type Size xxs xs s m l xl xxl interface Sizes key Size s
  • matlab中如何读取文件夹中的图像

    我有六个这样的文件夹 gt gt Images每个文件夹都包含一些图像 我知道如何在 matlab 中读取图像 但我的问题是如何遍历这些文件夹并读取 abc m 文件中的图像 此文件显示在image 所以基本上你想读取不同文件夹中的图像 而
  • 如果字符超过一定限制,如何修剪元素的内容并添加“...”?

    我想修剪一部分 td 如果太长 这将确保桌子不会弄乱 下表中的所有数据均从数据库中检索 在 主题 部分 如果文本超过一定的字符限制 如何缩短文本并添加 这是该表的屏幕截图 正如您所看到的 如果主题太长 可能会弄乱表格 是否有任何 jQuer
  • 自定义寻呼机模板

    默认分页器机制在最后一行插入一个表格 然后该表格包含一行 其中包含所需数量的包含页码的单元格 我将页面模式设置为数字 我不想创建一个嵌套表格 而是创建一个由小方形 div 组成的分页模板 这些小方形 div 浮动在彼此的左侧 每个框中都有页
  • Swift 3 核心数据删除对象

    不幸的是 新的核心数据语义让我发疯 我之前的问题有一个干净的代码 但由于头文件的自动生成不正确而无法工作 现在我继续删除对象的工作 我的代码看起来很简单 func deleteProfile withID Int let fetchRequ