【发布时间】:2012-03-04 10:40:54
【问题描述】:
我有一个 NSDictionary,其中包含从 json 数据转换而来的数据,例如 {"message_id":21}。
然后我使用NSNumber *message_id = [dictionary valueForKey:@"message_id"] 来获取数据。
但是当我使用这个message_id时,
Message *message = [NSEntityDescription ....
message.messageId = message_id;
我得到了运行时错误,assigning _NSCFString to NSNumber,
所以我必须使用 NSNumberFormatter 进行转换。
NSString *messageId = [dictionary valueForKey:@"message_id"];
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterNoStyle];
message.messageId = [f numberFromString:messageId];
此代码有效。
但是我在调试的时候看到了message_id的
NSNumber *message_id = [dictionary valueForKey:@"message_id"]
有一个有效值,21。
谁能看到这里的问题?
【问题讨论】:
-
让我们看看
Message上messageId属性的声明。 -
@property (nonatomic, 保留) NSNumber * messageId;
标签: objective-c json nsstring nsnumber