核心数据设置中Appdelegate约定中的NsPerstentContainer名称

时间:2018-11-25 16:10:29

标签: swift core-data

我正在编程,我的第一把SwiftApp卡在设置Core数据上。由于我将其集成到现有代码中,因此无法再在Prohect初始化中对其进行Xcode设置。此外,我还想了解代码行的实际作用。由于所有Core库都是秘密的,因此我对Apple的文档一无所知。

Pfew ...问题就在这里了;传递给...的名字的意义是什么?

let container = NSPersistentContainer(name: "Core_Data")

...在App Delegate文件中。我之前进行过设置,但是在编译过程中Xcode抱怨找不到指定名称模块。在添加核心数据文件时,将其更改为我的项目名称,我创建的核心数据文件或传递给菜单的数据库名称似乎根本没有帮助。搜索网络和一些教程的人们只是在网上浏览,对我来说仍然很不清楚。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

在那里传递的字符串用于两件事。如果您要传递字符串Foo,则Core Data会尝试:

  • 通过查找Foo.xcdatamodelFoo.xcdatamodeld来查找数据模型。
  • 使用名称Foo.sqlite查找(或创建)持久性存储。

即使字符串值不正确(即与您的数据模型名称不匹配的字符串值)也不会导致编译错误。如果iOS无法找到命名的数据模型,则可能会在运行时导致错误。