使用嵌套 JSON 填充 UITableView
Posted
技术标签:
【中文标题】使用嵌套 JSON 填充 UITableView【英文标题】:Populate UITableView with nested JSON 【发布时间】:2012-06-12 14:19:09 【问题描述】:正如标题所示,我正在尝试从 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 在return [myArray count]
中的内容numberOfRowsInSection
方法...完全迷失在这里!帮助表示赞赏!
【问题讨论】:
您的 json 对象看起来不完整。 是的,因为我把它剪掉了,只是为了清楚起见。我在应用程序中成功检索了 JSON。 【参考方案1】:[[[result objectForKey:@"applications"] objectForKey:@"iphone"] objectForKey:@"application"]
将返回数组,因此最好存储此数组并在需要的地方使用它,如下所示:
NSArray *titleArray = [[[result objectForKey:@"applications"] objectForKey:@"iphone"] objectForKey:@"application"];
要存储这个数组,你可以使用实例变量,这样你就可以在整个文件中使用它。
【讨论】:
【参考方案2】:您可以将这些标题存储在一个数组中,然后将该数组用作表格的数据源。您的 myArray 将是您存储标题的数组。
【讨论】:
【参考方案3】:首先是应用程序字典 此应用程序字典有一个关键 iPhone 字典 这个 iphoneDic 有一个字典数组
NSMutableDictionary *applicationsDict = [response objectForKey:@"applications"];
NSMutableDictionary *iphoneDict = [applicationsDict objectForKey:@"iphone"];
NSMutableArray *applicationArray = [iphoneDict objectForKey:@"application"];
现在在table view的方法numberOfRowInSection:中返回数组计数
return [applicationArray count]
现在在 cellForRowAtIndexPath: 方法中,我们将使用这个 applicationArray 使用数组...
NSMutableDictionary *titleDict = [applicationArray objectAtIndex:indexPath.row];
cell.titleLabel.text = [titleDict objectForKey:@"title"];
希望对你有帮助
【讨论】:
以上是关于使用嵌套 JSON 填充 UITableView的主要内容,如果未能解决你的问题,请参考以下文章