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