Тайм-аут миграции базы данных iPhone - PullRequest
0 голосов
/ 20 февраля 2010

У меня есть приложение для iphone, которое позволяет вам загружать фрагменты карты, которые хранятся в базе данных sqlite с основными данными. Ранее я настраивал миграцию базы данных с помощью momd, следуя этому руководству - http://iphonedevelopment.blogspot.com/2009/09/core-data-migration-problems.html

Это все прекрасно работает при тестировании обновления, когда у меня есть небольшие объемы данных в каждой таблице. Но когда у меня загружена большая карта, примерно 100 МБ, миграция базы данных заканчивается, и приложение не запускается в течение 10 секунд. Затем база данных будет повреждена, и только удаление приложения и переустановка его исправят это.

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

Есть ли лучший способ обрабатывать изменения модели данных?

1 Ответ

0 голосов
/ 20 февраля 2010

В этом случае вы должны хранить такие большие изображения как отдельные файлы в каталоге Documents. Затем вы сохраните имя файла как свойство в вашей сущности Core Data.

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

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