Где в коде лучшее место для сохранения основных данных? - PullRequest
0 голосов
/ 22 января 2012

У меня есть приложение, которое в основном является иерархическим. Объект A имеет много объектов B, а объект B имеет много объектов C.

Я отображаю их в своем iOS-приложении через приложение типа навигации, и A находится на первой странице, вы нажимаете на B и нажимаете на C.

Я хочу иметь возможность сохранять каждый экземпляр моих объектов A, B, C (которые являются пользовательскими классами), но я не очень уверен, когда сохранять и читать их как табличное представление, отображающее данные об A, B и C необходимо заполнить, когда / до того, как это представление выдвигается.

Должен ли я читать это в didSelectRowAtIndexPath? или что-то другое? а как насчет сохранения? это должно происходить во время постукивания назад или в каком-то другом месте в самом классе что ли?

Sam

1 Ответ

0 голосов
/ 23 января 2012

Вы, вероятно, должны сохранять каждый раз, когда пользователь заканчивает редактирование.

Вы должны получать свои B, как только они вам понадобятся, и т. Д. Когда пользователь нажимает на строку в табличном представлении, которое отображает все буквы A, тогдаполучить B, которые относятся к этому конкретному объекту A.Здесь у вас есть два варианта: (1) получить их с помощью NSFetchRequest / NSFetchedResultsController или (2) пересечь отношение объекта ко многим, которое указывает на объекты B для этих объектов A.

Asдля сохранения: обратите внимание, что сохранение может занять некоторое время, если вы много редактировали.Есть несколько продвинутых техник, которые вы можете использовать с iOS 5 с вложенными конкурсами (-parentContext), которые позволяют вам сохранять в другом (неосновном) потоке.Тем не менее, вы должны убедиться, что ваш сейф завершен до того, как вы его приостановите, потому что системе разрешено уничтожать ваш процесс, пока вы находитесь в фоновом режиме.

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