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

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

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

7 ответов

Решение
  1. Нажмите на файл.xcdatamodelId верхнего уровня (тот, который имеет много версий.xcdatamodel под ним как дочерние).
  2. Убедитесь, что боковая панель Утилиты видна (если нет, нажмите третью кнопку "Вид" в правом верхнем углу окна).
  3. На боковой панели "Утилиты" выберите "Инспектор файлов" (маленький значок бумаги слева вверху).
  4. Вы увидите "Версионную модель данных ядра" как группу, поэтому просто измените раскрывающийся список "Текущая" на новую версию.

В 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, также показывая зеленую галочку рядом с текущей моделью. Это также должно позволить вам выбрать текущую версию модели данных в инспекторе файлов, а не показывать только одну версию.

Важное примечание к предыдущим ответам: один из объектов в модели должен быть сфокусирован, чтобы появилось раскрывающееся меню.

Шаги для Xcode 12.1

  1. Выберите самую верхнюю модель данных (ту, которая имеет дочерние модели версий).
  2. Выберите одну из сущностей, чтобы отобразился раскрывающийся список.
  3. Выберите версию модели из раскрывающегося меню.

Для Xcode 4.2

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

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

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

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

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

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

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

Это сработало для меня: https://developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html

выбор базовой версии модели данных

Теперь моя автоматическая миграция модели БД работает (с кодом автоматической миграции в делегате).

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

В вашем CustomCoreDataManager.m:

#import "ObjectiveRecord.h"

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

- (instancetype)init {

    self = [super init];

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

    return self;
}
Другие вопросы по тегам