2017-10-05 49 views
1

当我通过此代码自行创建容器什么样的持久性存储在应用程序支持文件夹中创建?默认情况下,NSPersistentContainer创建哪种持久性存储?

private lazy var storeContainer: NSPersistentContainer = { 
    let container = NSPersistentContainer(name: self.modelName) 
    container.persistentStoreDescriptions = [self.storeDescription] 
    container.loadPersistentStores { (storeDescription, error) in 
     if let error = error { 
      fatalError("Unresolved error \(error)") 
     } 
    } 
    return container 
}() 

回答

1

默认情况下,在iOS上它会创建一个持久存储与NSSQLiteStoreType和自动轻量级迁移启用。

参考:https://developer.apple.com/library/content/releasenotes/General/WhatNewCoreData2016/ReleaseNotes.html#//apple_ref/doc/uid/TP40017342-CH1-DontLinkElementID_3

+0

谢谢你,但如果你不介意的话,请你能解释一下为什么默认存储是sqlitetype?或者,也许你可以发送参考官方文件?因为我没有发现实际提到的默认类型的持久存储( –

+0

)SQLLite可能是iOS上Core Data存储的最佳选择,它由SQLlite支持,因此能够更好地处理内存并保持快速搜索。Binary和InMemory类型很少用于大型商店,因为它们可能是内存密集型的。我已经添加了对我的答案的引用。 – Abizern

+0

很好,我通过参考发现了关于sqlite的提及!我明白为什么它适合选择)谢谢! –

相关问题