2011-03-20 2 views
178

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

Design> Модель данных> Set Current Version

+14

Желаю, чтобы я мог проголосовать за это каждый раз, когда мне нужно его повторно ссылаться. – erik

ответ

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

Удивительный, спасибо! Также была найдена та же панель в меню «Вид»> «Утилиты»> «Файловый инспектор» –

+0

, все еще привыкший к изменениям между Xcode 3 и 4, спасибо! – Chris

+6

[Справка редактора: установка текущей версии управляемой управляемой модели объекта] (http://developer.apple.com/library/mac/#recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html) – bshirley

2

Поиск в справке Xcode для «Текущая версия» дает рецепт «Настройка текущей версии управляемого объекта с моделью», который описывает, как это сделать ...

4

Для Xcode 4.2

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

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

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

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

+0

В «Библиотеке объектов» нет ничего похожего на «версированную модель данных ядра». Первый ответ (от Mac_Cain13) верен, хотя у меня, похоже, странная ошибка, когда моя модель находится за пределами .modeld в Xcode. –

+0

@StuFFmc - проверьте мое сообщение ниже, чтобы исправить проблему с файлом xcdatamodel, находящимся за пределами пакета xcdatamodeld в навигаторе проектов Xcode. – Andrew

15

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

+0

И, таким образом, он царапает голову. –

+0

замечательный - это то, что я искал. – Ramesh

+0

Я случайно изменил родительский xcdatamodelid на пакет приложений, и это решение помогло! – morph85

0

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

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

-1

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

В вашем CustomCoreDataManager.m:

#import "ObjectiveRecord.h" 

и вызвать метод инициализации, как это

- (instancetype)init { 

    self = [super init]; 

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

    return self; 
} 
Смежные вопросы