Xcode 4, версия модели данных ядра - установка текущей версии
Я запутался в том, как выполнить следующую функцию в Xcode 4, чтобы установить модель для использования после создания версии.
Дизайн > Модель данных > Установить текущую версию
Ответы
Ответ 1
- Нажмите на верхний уровень .xcdatamodelId файл (тот, у которого есть множество версий .xcdatamodel под ним как дети).
- Убедитесь, что боковая панель Утилиты видна (если не нажать на третью кнопку "Вид" в верхнем правом углу окна).
- В боковой панели "Утилиты" выберите "Инспектор файлов" (значок маленькой бумаги в левом верхнем углу)
- В качестве группы вы увидите "Versioned Core Data Model", поэтому просто измените раскрывающийся список "Текущий" на новую версию.
Ответ 2
В Xcode 4, если вы видите только одну версию своей модели данных в разделе "Versioned Core Data Model - Current" в инспекторе файлов, когда вы выбрали свой файл *.xcdatamodeld; или у вас есть вторая версия вашего файла *.xcdatamodel, который отображается за пределами пакета xcdatamodeld в навигаторе проектов Xcode, который читается ниже.
Чтобы исправить это:
1) Удалите обе ссылки *.xcdatamodeld и *.xcdatamodel из Xcode, щелкнув правой кнопкой мыши их в навигаторе проекта и нажав "Удалить".
2) При появлении запроса от Xcode нажмите Только удаление ссылок (очень важно).
3) Перезагрузите Xcode для хорошей меры в случае, если происходит кеширование.
4) Повторно добавьте единственный файл *.xcdatamodeld, содержащий файлы *.xcdatamodel.
Теперь Xcode должен распознать отношения и позволить вам расширять файл *.xcdatamodeld в навигаторе проекта, чтобы показывать файлы *.xcdatamodel в родительском пакете xcdatamodeld, также отображая зеленую галочку рядом с текущей моделью. Это также должно позволить вам выбрать текущую версию модели данных в инспекторе файлов, а не показывать только одну версию.
Ответ 3
Для Xcode 4.2
-
Нажмите "YourModel.xcdatamodeld"
-
Сделайте видимым боковую панель
-
В разделе "модель данных с версией ядра" выберите "текущее раскрывающееся окно", выберите модель данных.
Теперь зеленая отметка перемещается в текущую модель данных.
Ответ 4
Поиск в справке Xcode для "Текущей версии" дает рецепт "Настройка моделей управляемых объектов текущей версии", который описывает, как это сделать...
Ответ 5
Немного не по теме, но если вы достигли этого вопроса, чтобы узнать, как создать первую новую версию вашей модели (например, я сделал):
нажмите на файл xcdatamodel → Меню "Редактор" → Добавить версию модели
Это приведет к запуску версии модели.
Ответ 6
Это сработало для меня: https://developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html
выбор версии базовой модели данных
Теперь моя автоматическая миграция модели db работает (с автоматическим кодом перехода в делегате).
Ответ 7
Вы также можете использовать метод setter из CoraData...
Просто сделайте что-нибудь подобное...
В CustomCoreDataManager.m:
#import "ObjectiveRecord.h"
и вызовите метод init, подобный этому
- (instancetype)init {
self = [super init];
if (self) {
[[CoreDataManager sharedManager] setModelName:@"YourModelName"];
}
return self;
}