iOS,' NSInvalidArgumentException'在NSString上

时间:2015-02-16 10:35:59

标签: ios objective-c

我有来自JSON源的数据。

key hour的值是一个整数:

{"busy": {"day":"monday", "month":"February", "hour":20}}

这里我使用了值

NSString *hour = [[self.stats valueForKey:@"busy"] valueForKey:@"hour"];
NSString *day = [[self.stats valueForKey:@"busy"] valueForKey:@"day"];
NSString *month = [[self.stats valueForKey:@"busy"] valueForKey:@"month"];

NSLog(@"hour: %@", hour);
NSLog(@"day: %@", day);
NSLog(@"month: %@", month);

self.busyHour.text = (NSString *)hour;
self.busyDay.text = day;
self.busyMonth.text = month;

我从所有3个值的NSLog中获得正确的输出,但是当我尝试分配self.busyHour.text时,我得到以下错误。

-[__NSCFNumber length]: unrecognized selector sent to instance 0xb000000000000093
2015-02-16 10:30:41.133 changeView[1494:411656] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber length]

2 个答案:

答案 0 :(得分:0)

这实际上是自我解释的......你将hour分配给self.busyHour而你正在施展它 - 你检查它真的是{{1这样做之前?

答案 1 :(得分:0)

NSInteger hour = [[[self.stats valueForKey:@"busy"] valueForKey:@"hour"] integerValue];
self.busyHour.text = [NSString stringWithFormat:@"%i", hour];