【问题标题】:Core Data: bundle.main.url Thread 1 fatal error核心数据:bundle.main.url 线程 1 致命错误
【发布时间】:2018-08-11 12:01:21
【问题描述】:

我已经与这个错误斗争了一个小时,我看不出这里有什么问题......

我检查了target 并重复了文件

【问题讨论】:

  • 我没有看到名为CryptoGODM.momd的文件。
  • @luk2302 它也不适用于xcdatamodeld..
  • 尝试查看 AppDelegate。如果您在创建此项目时检查了 CoreData 选项,您应该会在 AppDelegate 中看到如下内容: NSPersistentContainer(name: "SomeName")。
  • @Phyber 谢谢 Phyber,忘了检查,但它是 NSPersistentContainer(name: "CryptoGODM")
  • 请不要发布代码图片。

标签: ios swift core-data error-handling


【解决方案1】:

您没有文件“CryptoGODM.momd”,正如您在您的

中设置的那样
Bundle().url(forResource: "CryptoGODM", withExtension: "momd")

您的文件具有扩展名“.xcdatamodeld”。

【讨论】:

  • 不幸的是,它不适用于withExtension: xcdatamodeld
  • 你能发布你的目录结构吗?也许 CryptoGODM.xcdatamodeld 在一个子目录中。在这种情况下,您还需要使用子目录的名称进行调用。 API文档:developer.apple.com/documentation/foundation/bundle/1416712-url
  • 我更新了问题中的截图,CryptoGODM.xcdatamodeld 实际上在主文件夹中
【解决方案2】:

看截图,我想存储的名字应该是:CryptoGO。试试这个:

guard let modelURL = Bundle.main.url(forResource: "CryptoGO", withExtension: "momd") else {
    fatalError("Unable to Find Data Model")
}

【讨论】:

  • 有效! :) 看截图你是怎么知道的??
  • 是的,我刚刚将其编辑回最初的答案。看截图我看到你的项目名称:“CryptoGO”,通常项目名称和存储的名称是一样的。
  • 也就是说. xcdatamodeld文件在这里没有任何关系?
  • 检查thisthis
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-04
  • 2020-10-26
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
相关资源
最近更新 更多