Можно ли подключить несколько экземпляров NSPersistentStoreCoordinator к одному и тому же постоянному хранилищу SQLite?

Все, что я читал об использовании Core Data в нескольких потоках, говорит об использовании нескольких NSManagedObjectContext экземпляров, совместно использующих один NSPersistentStoreCoordinator . Это понятно, и я заставил это работать в приложении, которое использует Core Data в основном потоке для поддержки пользовательского интерфейса и имеет операцию фоновой выборки, выполнение которой может занять некоторое время.

Проблема в том, что доступ к лежащее в основе постоянное хранилище SQLite сериализуется NSPersistentStoreCoordinator , поэтому все еще есть случаи, когда пользовательский интерфейс блокируется операцией фоновой выборки.

Операция фоновой выборки никогда не обновляет данные, а только считывает их. Могу ли я настроить полностью параллельный стек основных данных ( NSManagedObjectContext , NSManagedPersistentStoreCoordinator , и NSManagedObjectModel ) в фоновом потоке, подключенном к тому же базовому постоянному хранилищу SQLite? Похоже, что это даст полный параллелизм между потоком пользовательского интерфейса и операцией фоновой выборки.

7
задан GBegen 19 January 2011 в 22:48
поделиться