Работа с управляемыми объектами между двумя MVC с одной базой данных - PullRequest
1 голос
/ 29 марта 2012

Текущая настройка: MVC-1 onViewDidLoad создает управляемый объект, извлекает данные из управляемого объекта и обновляет различные элементы пользовательского интерфейса.

MVC-2: та же самая настройка. Я скопировал и вставил тот же код из MVC-1 в MVC-2.

Проблемы, которые я вижу: После запуска и открытия MVC-1 весь код выполняется без ошибок. ManagedObject создан, запросы на выборку для ManageObjectContext работают, и пользовательский интерфейс корректно обновляется. Однако при переключении на MVC-2 кажется, что ни один из данных, которые MVC-2 должен получить, фактически не обновляется. Все элементы пользовательского интерфейса в MVC-2 имеют одинаковые данные с момента последнего запуска приложения.

Кроме того, если я сначала запускаю приложение и открываю MVC-2, то получаю те же результаты, только MVC-1, похоже, не обновляется в этот раз.

Что я за чем-то смотрю? У меня есть явные сохранения в базу данных, которая делается. Я (по крайней мере, мне так кажется) создаю два разных ManagedObjects. Нужно ли как-то закрыть одну перед созданием другой? Любой совет будет очень полезным. Спасибо.

1 Ответ

0 голосов
/ 30 апреля 2012

Разобрался.

Я сохранял MOC, однако я не записывал NSManagedDocument на диск (я использую ManagedDocument в качестве контейнера для базы данных Core Data).

Поэтому, естественно, когда я перешел на MVC-2, у меня не было бы обновленных данных.

Теперь я сохраняю MOC, записываю MD на диск и закрываю MD на viewWillDisappear.

Спасибо за помощь, Гусы.

...