Основные данные iPhone, как обновить NSManagedObjects .h & .m после внесения изменений в модель данных - PullRequest
3 голосов
/ 18 апреля 2010

Я сделал модель данных, и теперь я сделал 2-ю версию. Все сгенерированные объекты NSManagedObject, сопоставленные с этой моделью данных, являются версией 1. Есть ли какой-то способ обновить их до версии v2, не удаляя их, а затем сообщая, что их снова сгенерировали?

1 Ответ

5 голосов
/ 18 апреля 2010

Если у вас есть две версии вашей модели, вам нужно либо создать модель сопоставления между двумя версиями, либо включить автоматическую миграцию, если изменения достаточно просты для разрешения Core Data.

Я бы предложил ознакомиться с документацией Apple по теме миграции Core Data.

обновление

Я использую автоматическую миграцию. Но скажем, у меня есть запись человека в v1, которая просто является фамилией и именем. В v2 я добавил дату рождения. После создания модели данных v1 я сказал Xcode генерировать объекты NSManaged (в этом примере Person.m), теперь я создал модель v2 с настройкой автоматической миграции. Как мне обновить Person.m, чтобы добавить DOB, не удаляя и затем добавляя его снова, или добавляя DOB вручную?

У NSManagedObject он уже есть, если вы хотите добавить свойства (а не только атрибуты), а затем просто введите две строки кода в ваш подкласс NSManagedObject.

обновление

Другой вариант, который я настоятельно рекомендую, это использовать mogenerator вместо встроенного генератора кода. mogenerator будет обновлять файлы после изменения модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...