我通过了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];
}
答案 0 :(得分:2)
您要将字符串值分配给NSNumber
类型。
尝试使用此
NSString *fileTitle=[file objectForKey:@"id"];
[titles addObject: fileTitle];
并使用字符串值。
答案 1 :(得分:1)
[[titles addObject: fileTitle] stringValue];
答案 2 :(得分:0)
我猜你在-tableView: cellForIndexPath
:
UITableViewCell *cell = [...];
cell.titleLabel.text = titles[indexPath.row];
您只能将NSString用于-[UILabel setText:]
方法。
使用简单的-[NSNumber stringValue]
或使用NSNumberFormatter将NSNumber转换为NSString。
答案 3 :(得分:0)
一切似乎都好。只需替换
NSNumber *fileTitle=[file objectForKey:@"id"];
NSString *fileTitle = [file objectForKey:@"id"];