Xcode 4, базовая версия модели данных - установка текущей версии

183

Я запутался в том, как выполнить следующую функцию в Xcode 4, чтобы настроить модель для использования после создания версионной модели.

Дизайн> Модель данных> Установить текущую версию

Нейт Поттер
источник
15
Я бы хотел голосовать каждый раз, когда мне нужно будет сослаться на это.
Эрик

Ответы:

329
  1. Нажмите на файл .xcdatamodelId верхнего уровня (тот, который имеет много версий .xcdatamodel под ним как дочерние).
  2. Убедитесь, что боковая панель Утилиты видна (если нет, нажмите третью кнопку «Вид» в правом верхнем углу окна).
  3. В боковой панели «Утилиты» выберите «Инспектор файлов» (маленький значок бумаги слева вверху)
  4. Вы увидите «Версионную модель данных ядра» как группу, поэтому просто измените раскрывающийся список «Текущая» на новую версию.
Бен
источник
2
Круто, спасибо! Также нашел ту же панель в разделе «Просмотр»> «Утилиты»> «Инспектор файлов»
Нейт Поттер,
все еще привыкаю к ​​изменениям между Xcode 3 и 4, спасибо!
Крис
15

В Xcode 4, если вы видите только одну версию вашей модели данных в разделе «Versioned Core Data Model - Current» инспектора файлов, когда у вас выбран файл * .xcdatamodeld; или у вас есть 2-я версия вашего * .xcdatamodel файла, отображаемая вне пакета xcdatamodeld в навигаторе проекта XCode, читайте ниже.

Чтобы исправить это:

1) Удалите обе ссылки * .xcdatamodeld и * .xcdatamodel из XCode, щелкнув их правой кнопкой мыши в навигаторе проекта и нажав «Удалить».

2) В ответ на запрос Xcode нажмите « Удалить только ссылки» (очень важно).

3) Перезапустите Xcode для хорошей меры, если происходит какое-либо кэширование.

4) Повторно добавьте один файл * .xcdatamodeld, который содержит оба файла * .xcdatamodel.

Теперь XCode должен распознавать отношения и позволить вам развернуть файл * .xcdatamodeld в навигаторе проекта, чтобы показать оба файла * .xcdatamodel в родительском пакете xcdatamodeld, также показывая зеленую галочку рядом с текущей моделью. Это также должно позволить вам выбрать текущую версию модели данных в инспекторе файлов, а не показывать только одну версию.

Андрей
источник
И таким образом заканчивается царапин на голове.
Стив Мэдсен
Я случайно изменил родительский xcdatamodelid на пакет приложений, и это решение помогло!
morph85
4

Для Xcode 4.2

  1. Нажмите на YourModel.xcdatamodeld

  2. Сделайте боковую панель видимой

  3. В разделе «Версионная модель данных ядра» выберите «Текущий выпадающий список», выберите свою модель данных.

Теперь зеленая галочка перемещена в вашу текущую модель данных.

Dax
источник
В «Библиотеке объектов» нет ничего похожего на «версионную модель данных ядра». Первый ответ (от Mac_Cain13) правильный, хотя у меня, кажется, есть странная ошибка с моей моделью, находящейся вне .modeld в Xcode.
StuFF mc
@StuFFmc - проверьте мой пост ниже, чтобы исправить проблему, связанную с тем, что файл xcdatamodel находится за пределами пакета xcdatamodeld в навигаторе проекта Xcode.
Андрей
2

Поиск в справке Xcode для «Текущая версия» приводит к рецепту «Установка текущей версии модели управляемого объекта», в котором описывается, как это сделать ...

mmalc
источник
1

Немного не по теме, но если вы дошли до этого вопроса, чтобы узнать, как создать первую новую версию вашей модели (как я это сделал): нажмите на файл xcdatamodel >> Меню «Редактор» >> Добавить версию модели

Это инициирует версионирование модели.

Бен Г
источник
-1

Вы также можете использовать метод установки из CoraData ...
Просто сделайте что-то вроде этого ...

В вашем CustomCoreDataManager.m :

#import "ObjectiveRecord.h"

и вызвать метод init, как это

- (instancetype)init {

    self = [super init];

    if (self) {           
        [[CoreDataManager sharedManager] setModelName:@"YourModelName"];
    }

    return self;
}
Джон
источник