0

我被传递了 NSstring 它正在正确地将数据输入到 uitableview 但是当我解析整数值时它显示异常由于未捕获的异常而终止应用程序'NSInvalidArgumentException', reason: -[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x744e9d0 这是我的代码

(void)fetchedData:(NSData *)responseData {  
//parse out the json data  
NSError* error;  
NSDictionary* json = [NSJSONSerialization  
JSONObjectWithData:responseData options:kNilOptions error:&error];  
  NSArray * values=[json objectForKey:@"loans"];  


 NSLog(@"Array: %@",values);

for (NSDictionary *file in values)
        {
            NSNumber *fileTitle=[file objectForKey:@"id"];
            // NSString *fileTitle = [file objectForKey:@"sector"];
            [titles addObject: fileTitle];
        }
[self.mainTableView reloadData];

 }
4

4 回答 4

2

您正在为NSNumber类型分配字符串值。尝试使用这个

NSString *fileTitle=[file objectForKey:@"id"];

[titles addObject: fileTitle];

并使用字符串值。

于 2013-07-27T14:12:49.193 回答
1
[[titles addObject: fileTitle] stringValue];
于 2013-07-27T12:28:19.010 回答
0

我猜你正在做这样的事情-tableView: cellForIndexPath

UITableViewCell *cell = [...];
cell.titleLabel.text = titles[indexPath.row];

您只能将 NSString 用于-[UILabel setText:]方法。

使用简单的-[NSNumber stringValue]或使用 NSNumberFormatter 将您的 NSNumber 转换为 NSString。

于 2013-07-27T12:16:46.280 回答
0

一切似乎都很好。只需更换

NSNumber *fileTitle=[file objectForKey:@"id"];

经过NSString *fileTitle = [file objectForKey:@"id"];

于 2013-07-28T07:43:38.613 回答