我被卡住了!我想在tableView中显示数据结果。我创建了一个具有相同属性的类。我应该迭代eache密钥并将其存储在NSArray中吗?!我现在应该做什么?
NSDictionary *result =[NSJSONSerialization JSONObjectWithData:requestHandler options:NSJSONReadingMutableLeaves error:nil];
2015-07-29 17:55:12.669 Test[9051:173867] {
0 = 200;
data = (
{
name = "John";
lasta_name = "Frusciante"
"avatar" = "https://pictures.com/2516137_1185214515_1677640606.png";
"descripcion" = "Guitar player";
},
{
name = "Chad";
lasta_name = "Smith"
"avatar" = "https://pictures.com/2516137_1185214515_1677640606.png";
"descripcion" = "Drummer";
},
{
name = "Flea";
lasta_name = "Balzary"
"avatar" = "https://pictures.com/2516137_1185214515_1677640606.png";
"descripcion" = "Bass player";
},
{
name = "Anthony";
lasta_name = "Kiedis"
"avatar" = "https://pictures.com/2516137_1185214515_1677640606.png";
"descripcion" = "Vocalist";
}
)
}
答案 0 :(得分:0)
如果你有一个类,你可以用每个对象构造该类,并将其存储在一个数组中。
然后使用刚刚创建的对象数组来填充tableview
这是一个非常好的答案,展示了解决方案:https://stackoverflow.com/a/21207931/2803660
答案 1 :(得分:-1)
是的,您必须将JSON转换为NSArray。
一种很棒的方法是使用Mantle将JSON转换为类的实例。 https://github.com/Mantle/Mantle
代码就像这样
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
@"imageUrlString" : @"icon",
@"smallImageUrlString" : @"icon_small",
@"desc" : @"title",
};
}
在你的班级中,左边是你班级的财产,右边是JSON密钥
和NSArray *array = [MTLJSONAdapter modelsOfClass:[YourClass class] fromJSONArray:JSONArray error:nil]
你需要使用的地方。
然后您可以使用该数组作为tableView的数据源。