我最近看过这部影片:
Core Data Performance Optimization and Debugging
在此视频中,我看到了将MULTIPLE Persistent Store Coordinator
与一个Persistent Store File
结合使用的概念。
如果有帮助,请参见以下截图:
我调查了这个问题:
How to create two persistent stores in one persistent store coordinator
我尝试了上述问题中给出的解决方案(不将journal_mode
用作DELETE
)以及以下解决方案:
managedObjectModel = modelAtUrl
let persistentStoreCoordinator1 = NSPersistentStoreCoordinator(managedObjectModel: managedObjectModel)
let persistentStoreCoordinator2 = NSPersistentStoreCoordinator(managedObjectModel: managedObjectModel)
...
...
queue = DispatchQueue(label: "DataStoreControllerSerialQueue")
queue.async() {
let options = [
NSMigratePersistentStoresAutomaticallyOption: true,
NSInferMappingModelAutomaticallyOption: true
]
do {
try persistentStoreCoordinator1.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: storeUrl as URL, options: options)
} catch let error as NSError {
print("Unable to initialize persistent store coordinator:", error)
self.error = error
} catch {
fatalError()
}
do {
try persistentStoreCoordinator2.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: storeUrl as URL, options: options)
} catch let error as NSError {
print("Unable to initialize persistent store coordinator:", error)
self.error = error
} catch {
fatalError()
}
}
...
我遇到了各种各样的文件I / O错误(错误代码522),有时甚至是could not add the same store
错误。
那我该怎么办?
有可能吗?假设NSPersistentStore
具有以下属性NSPersistentStore -> persistentStoreCoordinator
可返回关联的协调器(而不是协调器)。
P.S。我想解决这个问题没有特别困难。所以我不是在寻找替代的背景数据任务解决方案。我特别想知道这种实现方式是可行的(如果有可能的话?)
如果问题解释不正确或格式错误,请提前道歉。请让我知道是否需要更多说明。
预先感谢您的帮助。