Основные данные к существующей проблеме проекта - PullRequest
0 голосов
/ 14 июля 2011

Я перемещаю основные данные, используя sqlite в качестве persistentStoreCoordinator, Core Data Model, сущностей, я создал все, но теперь моя проблема в том, что я не знаю, как заставить Core Data записать исходный файл данных в файл I положить в основной пакет. И всегда есть такая ошибка:

-[NSKeyedUnarchiver initForReadingWithData:]: data is empty; did you forget to send -finishEncoding to the NSKeyedArchiver?
2011-07-14 17:37:59.409 SalePersonApp[1202:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSMutableArray insertObject:atIndex:]: attempt to insert nil object at 0'

когда я назначаю свой контекст контексту appDelegate:

SalePersonAppAppDelegate *app = [[UIApplication sharedApplication] delegate];
        NSManagedObjectContext *context = app.managedObjectContext;

Ошибка была во второй строке.

Сейчас мои sqlite-файлы пусты, потому что, как я уже сказал, я не знаю, как заставить Базовые Данные записывать мои сущности в sql-файл.

Может кто-нибудь сказать мне, как это сделать. Большое спасибо заранее.

1 Ответ

0 голосов
/ 15 июля 2011

Если вы поместите свое постоянное хранилище в комплект приложений, оно будет постоянно доступно только для чтения, поскольку все содержимое комплекта приложений доступно только для чтения.

Чтобы создать доступное для записи хранилище, вам нужно создать хранилище в одном из каталогов приложений вне пакета, обычно в Documents или Library.

Если вам нужно предоставить предварительно заполненное постоянное хранилище, используйте Core Data, чтобы заполнить хранилище при запуске в Xcode. Затем добавьте сам файл постоянного хранилища в цель сборки, чтобы он был записан в комплект приложения. При первом запуске приложения скопируйте постоянное хранилище из комплекта приложения в один из доступных для записи каталогов. Затем откройте копию как обычно.

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