label.text和NSNumber出错

时间:2011-05-02 13:02:23

标签: iphone objective-c ios

我想这样做:
我有这样的字典:

[myMutableDictionary setValue:myNSNumber forKey:@"myKey"];

myNSNumber是一个NSNumber。

myCell.label.text = [self.myMutableDictionary objectForkey@"myKey"];

当我将字典中存储的数字分配给myCell中的标签时出错。 错误是:

  

je suis la 2011-05-02 15:01:01.264 []    - [NSCFNumber isEqualToString:]:发送到实例的无法识别的选择器   0x225d00 2011-05-02 15:01:01.319 []   ***由于未捕获的异常而终止应用程序   'NSInvalidArgumentException',原因:   ' - [NSCFNumber isEqualToString:]:   无法识别的选择器发送到实例   0x225d00'

2 个答案:

答案 0 :(得分:2)

NSNumber不是NSString,标签文字需要设置为NSString

NSNumber *num = (NSNumber*)[self.myMutableDictionnary objectForkey@"myKey"];
myCell.label.text = [num stringValue];

答案 1 :(得分:0)

您可以通过2种方式完成此操作

首先是myCell.label.text = [[self.myMutableDictionnary objectForkey @“myKey”] stringValue];

第二个是myCell.label.text = [NSString stringWithFormat:@“%d”,[self.myMutableDictionnary objectForkey @“myKey”]];