2016-10-10 4 views
1

Кто-нибудь, пожалуйста, объясните, когда следует увеличить версию xcdatamodeld? Я много google, все о миграции, но когда мне нужно увеличить версию?Когда мне следует увеличить версию xcdatamodeld?

В настоящее время, если я вношу изменения в свой xcdatamodeld, например, добавить объект или добавить атрибут, я воссоздаю подкласс nsmanagedobject. Но я не уверен, в какой ситуации мне нужно увеличить версию xcdatamodeld. Пожалуйста, объясните это кому-нибудь. Благодаря!

+0

После публикации вашего приложения в App Store, если вы внесли некоторые изменения в свою модель данных, вам нужно увеличить версию. Чтобы вы могли выполнять правильную миграцию данных между различными версиями. –

ответ

1

Я думаю об этом как о том, как помочь пользователям моего приложения перейти от предыдущей модели данных к новой модели данных. Таким образом, я не подменяю версию до тех пор, пока мне не придется «выпускать» ее в некотором роде (магазин приложений или внутренние тестеры). Даже тогда, если у меня есть небольшая группа тестировщиков, я могу просто сказать им, чтобы они удалили и переустановили, так что мне не нужно гадать с этим.

Если пользователь со старой моделью данных устанавливает обновление вашего приложения с новой моделью данных, они будут повреждены, если вы не попросите модель данных «перейти».

+0

Спасибо за ответ. Какое изменение приведет к сбою приложения? Кажется хорошо, хотя я внес некоторые изменения и воссоздал подкласс nsmanagedobject. – Magrider

+0

Все, что изменяет модель, приведет к сбою, когда мок с измененной моделью попытается открыть магазин, который был создан с предыдущей моделью. Это означает добавление новых объектов, добавление атрибутов или отношений или изменение типов атрибутов. Изменение имени атрибутов, сущностей или отношений также является достаточным для возникновения сбоя. Изменение подкласса в порядке, потому что это не влияет на структуру модели. – Rudedog

Смежные вопросы