【问题标题】:Core Data fetch: EXC_BREAKPOINT (code=1, subcode=0x18451a014)核心数据获取:EXC_BREAKPOINT(代码=1,子代码=0x18451a014)
【发布时间】:2022-12-02 21:41:45
【问题描述】:

每当我在 Xcode 中运行该应用程序时,我都会遇到这个问题,而且我真的不知道该怎么做。 我只是想获取核心数据中实体中的所有项目,返回一个作业数组。 如果发生这种情况,我唯一能做的就是停止应用程序,关闭它,然后在模拟器中打开它,而无需单击运行按钮。

这是代码的图像和我正在谈论的错误。

我能做些什么来解决这个问题吗?这是调试问题还是真正的应用程序问题?

非常感谢!

【问题讨论】:

  • 删除 async 关键字。可能还有其他线程问题。使用 async 而不实际执行 async 工作时很常见
  • 谢谢@loremipsum!它真的修好了!我仍然不明白这怎么/为什么会是诚实的。我仍然对如何使用 async/await 进行这项工作感到困惑

标签: xcode core-data nsfetchrequest


【解决方案1】:

你会用这样的东西

func generateData(context: NSManagedObjectContext) async throws {
    try await context.perform {
        //Your fetch code here
    }
}

这是关于这个主题的 WWDC 视频 https://developer.apple.com/wwdc21/10017

我认为最重要的事情不是链接这些调用尝试压缩它们,我最近有一个客户在其他performs 中调用perform

async await 都是关于直线的,你应该确切地知道发生了什么,发生的时间以及发生的顺序。没有任何东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多