2013-09-07 1 views
1

Я видел много раз, когда люди использовали много managedObjectContext, но помимо использования диспетчера Undo, какова реальная причина использования multipleManagedObjectContext? Почему полезно использовать более одного? Не могли бы вы показать несколько примеров?Контент с несколькими управляемыми объектами

ответ

1

Контексты управляемых объектов не являются потокобезопасными, поэтому, если вам когда-либо понадобится выполнять какие-либо фоновые работы с вашими объектами Coredata (то есть с длительной функцией импорта/экспорта без блокировки основного пользовательского интерфейса), вы захотите сделать это на фоновый поток.

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

Вы можете найти пример того, как это могло бы работать здесь Core Data and threads/Grand Central Dispatch

+0

Ответ совершенно верно, но NSManagedObjectContexts действительно поточно, и иметь больше контекста для не блокирует UI не имхо ничего общего с безопасностью нитками. В этом случае, когда требуется обновить больше контекста, объектом блокировки или синхронизации является координатор хранилища сохранения. – Leonardo

+0

Извините, но ваш комментарий не имеет никакого смысла. – Rog

+0

Что такое производительность пользовательского интерфейса и безопасность потоков при работе с фоновым рисунком. – Leonardo

 Смежные вопросы

  • Нет связанных вопросов^_^