Можно ли использовать MULTIPLE `Persistent Store Coordinator` с ONE` Persistent Store File`? И как? - PullRequest
0 голосов
/ 08 сентября 2018

Я видел это видео совсем недавно:

Оптимизация производительности основных данных и отладка

В этом видео я увидел концепцию использования MULTIPLE Persistent Store Coordinator с ONE Persistent Store File.

Если это поможет, вот скриншот идеи:

enter image description here

Я изучил этот вопрос:

Как создать два постоянных хранилища в одном координаторе постоянных хранилищ

Я попробовал решение, приведенное в предыдущем вопросе (без использования 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. Нет особой трудности, которую я хочу решить с этой проблемой. Поэтому я не ищу альтернативных решений для справочных задач. Мне особенно интересно узнать, как эта реализация возможна (если это вообще возможно?)

Заранее извиняюсь, если вопрос плохо объяснен или плохо отформатирован. Пожалуйста, дайте мне знать, если вам нужно больше объяснений.

Заранее спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...