2011-05-02 38 views
0

我想做到這一點:
我有一本字典是這樣的:誤差label.text和NSNumber的

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

myNSNumber是一個NSNumber。

myCell.label.text = [self.myMutableDictionary [email protected]"myKey"]; 

當我將存儲在我的字典中的號碼分配給myCell中的標籤時出現錯誤。 錯誤是:

JE豬LA 2011-05-02 15:01:01.264 [] - [NSCFNumber isEqualToString:]:無法識別的選擇發送到實例 0x225d00 2011-05-02 15:01: 01.319 [] ***終止應用程序由於未捕獲的異常 'NSInvalidArgumentException' 的,原因是: ' - [NSCFNumber isEqualToString:]: 無法識別的選擇發送到實例 0x225d00'

回答

2

NSNumber不是NSString和標籤的文本需要設置爲NSString

NSNumber *num = (NSNumber*)[self.myMutableDictionnary [email protected]"myKey"]; 
myCell.label.text = [num stringValue]; 
+0

好的謝謝。我會這樣做:NSNumber * num =(NSNumber *)[self.myMutableDictionnary objectForkey @「myKey」];所有我的NSNumber爲每一個,或者我可以做一次我所有的我的NSNumber在我的字典 – izan 2011-05-02 13:21:18

+0

每次你訪問一個NSNumber,你將需要調用stringValue。下面的代碼可以運行:'myCell.label.text = [(NSNumber *)[self.myMutableDictionnary objectForkey @「myKey」] stringValue];' – Joe 2011-05-02 14:05:18

0

在這裏,你可以通過2種方式

第一做到這一點是myCell.label.text = [[self.myMutableDictionnary objectForkey @ 「的myKey」] stringValue的];

second is myCell.label.text = [NSString stringWithFormat:@「%d」,[self.myMutableDictionnary objectForkey @「myKey」]];