Core data Xcode中核心数据内置持久存储类型的默认方法

Core data Xcode中核心数据内置持久存储类型的默认方法,core-data,swift4,swift4.2,Core Data,Swift4,Swift4.2,根据apple doc的持久存储类型和行为,核心数据的内置持久存储类型为 1.XML 2.二元的 3.数据库 4.记忆中 我的问题是,, 其中,当我们在xcode中使用核心数据模型时,默认的存储类型以及如何更改它,NSPersistentStore是一个抽象的基类。它的四个子类之一必须在代码中故意创建。因此,实际上没有默认的存储类型 但是,当您在Xcode中选择一个新项目或新目标模板时,会生成一些模板代码。在当前版本(Xcode 10)中,当您打开“使用核心数据”复选框时,将在AppDelega

根据apple doc的持久存储类型和行为,核心数据的内置持久存储类型为 1.XML 2.二元的 3.数据库 4.记忆中

我的问题是,,
其中,当我们在xcode中使用核心数据模型时,默认的存储类型以及如何更改它,
NSPersistentStore
是一个抽象的基类。它的四个子类之一必须在代码中故意创建。因此,实际上没有默认的存储类型

但是,当您在Xcode中选择一个新项目或新目标模板时,会生成一些模板代码。在当前版本(Xcode 10)中,当您打开“使用核心数据”复选框时,将在
AppDelegate
实现中获得一个
lazy var persistentContainer
属性,该属性提供一个singleton
NSPersistentContainer
对象。默认情况下,这是您将在新目标中使用的存储。但那是什么类型的商店呢?当然,
NSPersistentContainer
的持久存储在其
persistentStoreDescriptions
数组属性中指定。默认情况下,此数组包含一个SQLite类型的持久存储,由应用程序容器的
应用程序支持
文件夹中的文件支持。这是您所询问的默认商店类型

有关更改此存储类型的步骤,请参见的讨论部分


因此,您可以看到默认值实际上在Xcode项目模板中。要获得所需的内容,可以将阅读文档后编写的代码放入新的项目模板中,并将其添加到
~/Library
中。您可以替代其中一个默认项目样板,也可以使用新名称创建自己的样板。本文给出了一个基本示例。如果这对你来说还不够的话,基思·哈里森(Keith Harrison)已经出版了一本相当不错的书。

谢谢你的明确解释