Предварительно существующие данные базовых данных - PullRequest
3 голосов
/ 19 мая 2011

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

Можно ли вставить сущности в базовые данные, чтобы они были жестко запрограммированы?

1 Ответ

5 голосов
/ 19 мая 2011

Да, вы включаете предварительно заполненное хранилище данных в свой комплект приложений и копируете его из комплекта в каталог документов как часть процесса запуска приложения - проверьте, существует ли хранилище данных, и, если нет, сделайте копию. Это делается до первого доступа к стеку основных данных.

Есть несколько способов сделать это. Способ ленивого программиста - вводить данные по умолчанию в приложение, либо на телефоне, либо в симуляторе, захватывать файл хранилища данных и включать его в проект Xcode. Недостатком является то, что он не работает, если вам нужно вернуться и отредактировать модель данных позже.

Другой вариант - создать на Mac приложение-редактор, использующее ту же модель Core Data, что и приложение iPhone (они совместимы), и отредактировать данные в приложении Mac. Джефф Ламарш немного говорит об этом в одном из своих сообщений в блоге . Я сделал нечто подобное, за исключением того, что написал инструмент командной строки для загрузки последних данных с веб-сайта (в моем случае, данных XML) и анализа XML в NSManagedObjects.

В этом сообщении StackOverflow рассказывается о несколько более сложной возможности иметь два хранилища данных - одно для ваших системных данных и одно для ваших пользовательских данных - и позволить Core Data использовать оба хранилища во время выполнения.

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