2014-02-03 2 views
0

Я хочу перенести основные данные двух моделей. Согласно документам Apple, существует два способа миграции модели, таких как легкая миграция и модель сопоставления. Мое недоразумение: в каком сценарии мне нужно использовать способ сопоставления картографической модели миграции основных данных.Перенос базовой модели данных

ответ

1

Легкая миграция выполняется при добавлении/изменении/удалении атрибута или объекта - обычно простых операций.

Для отображения одной схемы в другую необходимо использовать параметр сопоставления. Предположим, вы и юридическое лицо A, но вам нужно разделить его на две части: B и C. Затем вы должны указать CoreData, как сопоставлять сущности и атрибуты между схемами.

Этот процесс немного сложнее, чем легкий перенос. Для этого требуется создать файл модели сопоставления, при необходимости определить подкласс NSEntityMigrationPolicy и т. Д., В зависимости от ваших потребностей.

+0

Спасибо Oczko за быстрый ответ ... Если я понимаю правильную модель сопоставления, требуется, когда разделить сущность A на две существующие сущности, такие как Entity B и Entity C., но у меня есть одно сомнение, я могу справиться с этим сценарием, например, удалить атрибуты From Entity A и вручную добавляется в B и C при создании новой модели. Таким образом, LightWeight миграции достаточно или нет? – karan

+0

Если приложение находится в разработке, и вы не против потерять данные, это нормально. В противном случае это было бы небезопасно, потому что CoreData не знает, как заполнять новые добавленные атрибуты. –