Основные данные, как изменить NSNumber на NSString? - PullRequest
2 голосов
/ 26 января 2012

Я использую 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.

Ответы [ 2 ]

6 голосов
/ 08 февраля 2012

Я думаю, что вы хотите:

FUNCTION($source.facebook_event_id, "stringValue")

Который примет NSNumber в настоящее время в вашем свойстве facebook_event_id и отправит ему сообщение stringValue.

1 голос
/ 26 января 2012

Как насчет:

NSString *convertedString = [NSNumber stringValue];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...