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
和应用程序委托。
- 轻量级迁移需要在项目中添加什么?
- 方法
addPersistentStoreWithType:configuration:URL:options:error:
在哪里调用的?
在 Swift 中创建选项并调用 addPersistentStoreWithType
let options = [NSMigratePersistentStoresAutomaticallyOption:true,NSInferMappingModelAutomaticallyOption:true]
try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: options)
这是在 lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator
在 appDelegate:(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.
我从基于 Core Data 文档的模板创建了一个新的 Swift 应用程序。该应用程序运行良好,但对于新版本,我想添加 轻量级迁移。
在我阅读的核心数据文档中,我只需要在 addPersistentStoreWithType:configuration:URL:options:error:
方法中添加一些选项,但实际上没有提示 where 这个方法是 called/added.
我有 Document
class 派生自 NSPersistentDocument
和应用程序委托。
- 轻量级迁移需要在项目中添加什么?
- 方法
addPersistentStoreWithType:configuration:URL:options:error:
在哪里调用的?
在 Swift 中创建选项并调用 addPersistentStoreWithType
let options = [NSMigratePersistentStoresAutomaticallyOption:true,NSInferMappingModelAutomaticallyOption:true]
try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: options)
这是在 lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator
在 appDelegate:(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.