Xcode 4, версія основної моделі даних - встановіть поточну версію


183

Мене бентежить питання про те, як виконати наступну функцію в Xcode 4, щоб встановити модель для використання після створення версійної моделі.

Дизайн> Модель даних> Встановити поточну версію


15
Я хотів би, щоб я міг проголосувати за це кожен раз, коли мені доведеться переглядати його.
erik

Відповіді:


329
  1. Клацніть на верхньому рівні .xcdatamodelId файл (той, який має багато версій .xcdatamodel під дітьми).
  2. Переконайтеся, що бічна панель утиліти видно (якщо не натиснути на третю кнопку "Вид" у верхньому правому куті вікна).
  3. На бічній панелі утиліти виберіть інспектор файлів (маленький значок паперу вгорі зліва)
  4. Ви побачите "Універсальну модель основних даних" як групу, тому просто змініть спадне меню "Поточний" на нову версію.

2
Дивовижне, дякую! Також знайдено цю панель у розділі Перегляд> Утиліти> Інспектор файлів
Нейт Поттер

все ще звикаю до змін між Xcode 3 і 4, дякую!
Кріс


15

Якщо у Xcode 4 ви бачите лише одну версію вашої моделі даних у розділі "Універсальна модель основної інформації - поточна" інспектора файлів, коли у вас вибрано файл * .xcdatamodeld; або у вас є друга версія файлу * .xcdatamodel, що відображається поза пакетом xcdatamodeld в навігаторі проектів Xcode, читайте нижче.

Щоб виправити це:

1) Видаліть як X.xcdatamodeld, так і * .xcdatamodel посилання з Xcode, клацнувши правою кнопкою миші на них у навігаторі проекту та натиснувши "Видалити".

2) За запитом Xcode натисніть Видалити лише посилання (дуже важливо).

3) Перезапустіть Xcode для хорошої міри, якщо відбувається кешування.

4) Повторно додайте один * .xcdatamodeld файл, який містить обидва * .xcdatamodel файли.

Тепер Xcode повинен розпізнавати зв'язки та дозволяти розширити файл * .xcdatamodeld в навігаторі проекту, щоб відобразити обидва * .xcdatamodel файли під батьківським пакетом xcdatamodeld, також показуючи зелену галочку поруч із поточною моделлю. Це також повинно дозволяти вам обрати поточну версію моделі даних в інспекторі файлів, а не показувати лише одну версію.


І таким чином закінчує вичісування голови.
Стів Мадсен

Я випадково змінив батьківський xcdatamodelid на пакет додатків, і це рішення допомогло!
morph85

4

Для Xcode 4.2

  1. Клацніть на вашModel.xcdatamodeld

  2. Зробіть видимою бічну панель

  3. У розділі "Версія з базовою моделлю даних" виберіть "поточне спадне поле", виберіть модель даних.

Тепер зелена галочка переміщена до вашої поточної моделі даних.


У "Об'єктній бібліотеці" немає нічого подібного до "моделі з базовою базовою інформацією". Перша відповідь (від Mac_Cain13) правильна, хоча, здається, у мене дивна помилка, оскільки моя модель знаходиться поза .modeld у Xcode.
StuFF mc

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

2

Пошук у довідці Xcode для "Поточна версія" дає рецепт "Налаштування поточної версії моделі керованого об'єкта", який описує, як це зробити ...


1

Трохи поза темою, але якщо ви дійшли до цього питання, щоб знати, як створити першу нову версію вашої моделі (як я це зробив): натисніть на файл xcdatamodel >> Меню "Редактор" >> Додати версію моделі

Це ініціює модернізацію моделі.



-1

Ви також можете використовувати метод сеттера від CoraData ...
Просто зробіть щось подібне ...

У вашому CustomCoreDataManager.m :

#import "ObjectiveRecord.h"

і викликати такий метод init

- (instancetype)init {

    self = [super init];

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

    return self;
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.