Where to add `addPersistentStoreWithType:configuration:URL:options:error:` in Swift Core Data Application?

Where to add `addPersistentStoreWithType:configuration:URL:options:error:` in Swift Core Data Application?

我从基于 Core Data 文档的模板创建了一个新的 Swift 应用程序。该应用程序运行良好,但对于新版本,我想添加 轻量级迁移

在我阅读的核心数据文档中,我只需要在 addPersistentStoreWithType:configuration:URL:options:error: 方法中添加一些选项,但实际上没有提示 where 这个方法是 called/added.

我有 Document class 派生自 NSPersistentDocument 和应用程序委托。

apple docs

在 Swift 中创建选项并调用 addPersistentStoreWithType

let options = [NSMigratePersistentStoresAutomaticallyOption:true,NSInferMappingModelAutomaticallyOption:true]
try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: options)

这是在 lazy var persistentStoreCoordinator: NSPersistentStoreCoordinatorappDelegate:(didFinishLaunchingWithOptions)

中完成的

编辑说: 这仅适用于 iOS 应用程序,对于基于文档的应用程序,您会找到答案

它(隐藏)在 NSPersistentDocument 的文档中。

You can customize the architecture of the persistence stack by overriding the methods NSPersistentDocument and configurePersistentStoreCoordinator(for:ofType:modelConfiguration:storeOptions:). You might wish to do this, for example, to specify a particular managed object model.

覆盖 func configurePersistentStoreCoordinator(for url: URL, ofType fileType: String, modelConfiguration configuration: String?, storeOptions: [String : AnyObject]? = [:])。将您的选项添加到 storeOptions 并调用 super.