данные ядра iOS новичка - модель ноль - PullRequest
0 голосов
/ 16 января 2012

Используя Xcode 4.2, я создал новое приложение, используя шаблон панели вкладок.По какой-то причине этот шаблон не дает вам возможности включить Core Data, поэтому мне пришлось добавить его вручную, что я и сделал, следуя этому руководству:

http://www.theappcodeblog.com/2011/06/30/iphone-development-tutorial-add-core-data-to-a-tab-bar-application-and-save-user-data/

Когда я запускаюприложение, однако, я получаю эту ошибку:

Cannot create an NSPersistentStoreCoordinator with a nil model

Как мне сделать модель не ноль?Я создал Model.xcdatamodeld и добавил сущность (Cat) с атрибутами.

Кроме того, я хочу, чтобы приложение начиналось, например, с 5 кошек, но пользователь сможет создавать больше кошек.Где / Как создать 5 оригинальных кошек?Не кажется логичным создавать их каждый раз при запуске приложения, но как вы можете создать их в первую очередь?

Ответы [ 2 ]

2 голосов
/ 16 января 2012
  1. Вам нужно создать экземпляр модели, прежде чем пытаться создать постоянный координатор хранилища. Вы можете сделать это с помощью одного из методов NSManagedObjectModel, например + mergedModelFromBundles:. Обратите внимание, что если вы передадите nil этому методу, он будет искать в главном пакете модели, что, вероятно, вам и нужно.

  2. Чтобы заполнить магазин некоторыми начальными данными, у вас есть несколько вариантов. Когда ваше приложение запускается и вы настраиваете свой стек основных данных, вы, вероятно, будете искать существующий файл постоянного хранилища. Если вы найдете его, вы можете просто создать постоянное хранилище, добавить его в координатор и продолжить. Если вы не нашли его, можно создать новое хранилище и добавить некоторые объекты программным способом. Другой вариант - сохранить предварительно заполненный файл постоянного хранилища в вашем комплекте, который вы можете скопировать в папку документов приложения и затем открыть. Третьим может быть чтение данных по умолчанию с сервера в сети и использование их для заполнения нового хранилища.

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

Исправлено с помощью этой строки:

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];

«Модель» была «ТЕМП».

Я до сих пор не знаю, как создать 5 объектов.

...