Подтвердить что ты не робот

IPhone - добавление основных данных в существующий проект?

Я пытаюсь добавить основные функции данных в существующий проект. Я добавил файл модели данных с именем "myProj.xcdatamodel"

Мой код аварийно завершает работу при получении управляемых объектов Что такое файл "momd"? где я могу получить его или как его создать? Когда я читаю путь, он возвращает null и сбой приложения.

NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"myProj" ofType:@"momd"];
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
4b9b3361

Ответ 1

Файл momd является версией, эквивалентной файлу mom. На данный момент у вас есть два варианта:

  • Добавьте версию к существующей модели myProj.xcdatamodel. В Xcode выберите файл myProj.xcdatamodel и выберите "Дизайн → Модель данных → Добавить версию модели" из меню в Xcode.
  • Используйте только файл с версией без версии. Измените свой код:

    NSString * modelPath = [[NSBundle mainBundle] pathForResource: @ "myProj" ofType: @ "mom" ]; NSURL * modelURL = [NSURL fileURLWithPath: modelPath];

Если вы создаете приложение на основе навигации (использовать основные данные для хранения) из шаблона по умолчанию в Xcode, вы заметите, что файл модели уже версирован.

Для получения дополнительной информации см. Версии модели

Ответ 2

"mom" или "momd" - это скомпилированная версия файла .xcdatamodel. Возможно, вы не добавили файл .xcdatamodel в цель, чтобы он не скомпилировался? Получите информацию об этом и убедитесь, что она предназначена для вашей цели.

Также проверьте образец кода CoreDataBooks.