Я запутался в том, как выполнить следующую функцию в Xcode 4, чтобы установить модель для использования после создания версии.
Дизайн > Модель данных > Установить текущую версию
Я запутался в том, как выполнить следующую функцию в Xcode 4, чтобы установить модель для использования после создания версии.
Дизайн > Модель данных > Установить текущую версию
В 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, также отображая зеленую галочку рядом с текущей моделью. Это также должно позволить вам выбрать текущую версию модели данных в инспекторе файлов, а не показывать только одну версию.
Для 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
выбор версии базовой модели данных
Теперь моя автоматическая миграция модели db работает (с автоматическим кодом перехода в делегате).
Вы также можете использовать метод setter из CoraData...
Просто сделайте что-нибудь подобное...
В CustomCoreDataManager.m:
#import "ObjectiveRecord.h"
и вызовите метод init, подобный этому
- (instancetype)init {
self = [super init];
if (self) {
[[CoreDataManager sharedManager] setModelName:@"YourModelName"];
}
return self;
}