标题显示我正在尝试从JSON填充UITableView。我得到了看起来像
的json对象 {
applications: {
iphone: {
application: [
{
title: "Title",
},
{
title: "Title2",
},
{
title: "Title3",
}
]
}
}
}
它继续这样,有几个title
字段嵌套在应用程序中。
我想将所有标题用作我的手机标签。 我可以得到一个像这样的列表
for (int i = 0; i < 10; i++)
{
titleString = [[[[[result objectForKey:@"applications"] objectForKey:@"iphone"] objectForKey:@"application"] objectAtIndex:i] objectForKey:@"title"];
NSLog(@"title %@", titleString);
}
哪个确实有效,就像我可以记录标题列表一样...但我知道我会以错误的方式解决这个问题,我甚至无法弄明白myArray在{{1}中的含义在return [myArray count]
方法中...完全迷失在这里!感谢帮助!
答案 0 :(得分:1)
[[[result objectForKey:@"applications"] objectForKey:@"iphone"] objectForKey:@"application"]
将返回数组,因此最好存储此数组并在需要的地方使用它,如下所示:
NSArray *titleArray = [[[result objectForKey:@"applications"] objectForKey:@"iphone"] objectForKey:@"application"];
要存储此数组,您可以使用实例变量,以便可以将其用于整个文件。
答案 1 :(得分:0)
您可以将这些标题存储在数组中,然后将此数组用作表的数据源。你的myArray将是你存储的标题所在的数组。
答案 2 :(得分:0)
首先是应用词典
这个应用程序字典有一个关键iPhone的字典
这个iphoneDic有一个Dictionary
NSMutableDictionary *applicationsDict = [response objectForKey:@"applications"];
NSMutableDictionary *iphoneDict = [applicationsDict objectForKey:@"iphone"];
NSMutableArray *applicationArray = [iphoneDict objectForKey:@"application"];
现在在方法numberOfRowInSection中:表视图返回数组计数
return [applicationArray count]
现在在cellForRowAtIndexPath:mthod我们将使用此applicationArray
使用数组...
NSMutableDictionary *titleDict = [applicationArray objectAtIndex:indexPath.row];
cell.titleLabel.text = [titleDict objectForKey:@"title"];
我希望这会对你有所帮助