Xcode 4, базовая версия модели данных - установка текущей версии
Я запутался в том, как выполнить следующую функцию в Xcode 4, чтобы настроить модель для использования после создания версионной модели.
Дизайн> Модель данных> Установить текущую версию
7 ответов
- Нажмите на файл.xcdatamodelId верхнего уровня (тот, который имеет много версий.xcdatamodel под ним как дочерние).
- Убедитесь, что боковая панель Утилиты видна (если нет, нажмите третью кнопку "Вид" в правом верхнем углу окна).
- На боковой панели "Утилиты" выберите "Инспектор файлов" (маленький значок бумаги слева вверху).
- Вы увидите "Версионную модель данных ядра" как группу, поэтому просто измените раскрывающийся список "Текущая" на новую версию.
В 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
Для Xcode 4.2
Нажмите на YourModel.xcdatamodeld
Сделайте боковую панель видимой
В разделе "Версионная модель данных ядра" выберите "Текущий выпадающий список", выберите свою модель данных.
Теперь зеленая отметка перемещена в вашу текущую модель данных.
Поиск в справке 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;
}