【问题标题】:Core Data how to change NSNumber to NSString?核心数据如何将 NSNumber 更改为 NSString?
【发布时间】:2012-02-19 14:24:11
【问题描述】:

我正在为我的应用程序使用 Core Data,并且我有一个模型 Reservation,我有一个 facebook_event_id,起初我有一个 Integer 64,但问题是这可能太短了,我希望它更改为NSString(无论如何我都是从 Facebook 得到的 JSON 字符串)。

我现在做了以下事情:

  • Editor -> 添加模型版本并基于我的旧版本
  • 重建我的子类
  • 在 NSMigratePersistentStoresAutomaticallyOption 和 NSInferMappingModelAutomaticallyOption 设置为 YES 的情况下添加了这个 dict

当我测试它在 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。

【问题讨论】:

    标签: iphone core-data


    【解决方案1】:

    怎么样:

    NSString *convertedString = [NSNumber stringValue];
    

    【讨论】:

    【解决方案2】:

    我想你想要:

    FUNCTION($source.facebook_event_id, "stringValue")
    

    它将获取您的 facebook_event_id 属性中当前的 NSNumber,并将 stringValue 消息发送给它。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 2010-11-29
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    相关资源
    最近更新 更多