Я видел это видео совсем недавно:
Оптимизация производительности основных данных и отладка
В этом видео я увидел концепцию использования MULTIPLE Persistent Store Coordinator
с ONE Persistent Store File
.
Если это поможет, вот скриншот идеи:
Я изучил этот вопрос:
Как создать два постоянных хранилища в одном координаторе постоянных хранилищ
Я попробовал решение, приведенное в предыдущем вопросе (без использования 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()
}
}
...
И я получаю всевозможные ошибки файлового ввода-вывода (код ошибки 522), а также иногда could not add the same store
ошибку.
Итак, как мне это сделать?
Возможно ли это вообще? Учитывая, что NSPersistentStore
имеет следующее свойство NSPersistentStore -> persistentStoreCoordinator
для возврата связанного координатора (не координатора).
P.S. Нет особой трудности, которую я хочу решить с этой проблемой. Поэтому я не ищу альтернативных решений для справочных задач. Мне особенно интересно узнать, как эта реализация возможна (если это вообще возможно?)
Заранее извиняюсь, если вопрос плохо объяснен или плохо отформатирован. Пожалуйста, дайте мне знать, если вам нужно больше объяснений.
Заранее спасибо за помощь.