Я использую Core Data для своего приложения, у меня есть модель Reservation, и там у меня есть facebook_event_id, который сначала у меня был как Integer 64, но проблема в том, что это, возможно, короткий, и я хотел бы изменить его на NSString (я все равно получаю его в виде строки JSON из Facebook).
На данный момент я сделал следующее:
- Редактор -> Добавить версию модели и основать ее на моей старой версии
- восстановить мои подклассы
- добавил этот диктат с NSMigratePersistentStoresAutomaticsOption и NSInferMappingModelAutomaticsOption, установленным в YES
Когда я тестировал его для переключения между Integer 16 и 64, все работало нормально, но когда я пытаюсь перейти с Integer 64 на String, выдает ошибку:
Can't find or automatically infer mapping model for migration
Итак, я добавил новую модель отображения, и там я хотел исправить это в ReservationRoReservation | facebook_event_id | $source.facebook_event_id
Я думаю, что нужно что-то сделать с $source.facebook_event_id
, чтобы преобразовать его, но я понятия не имею, что написать в нем, чтобы оно заработало. Не следует использовать простой Objective-C там, кроме NSExpression , но нигде там не объясняется, как преобразовать NSNumber в NSString.