0

正如标题所示,我正在尝试从 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);
    }

这确实有效,因为我可以记录标题列表......但我知道我以错误的方式处理这个问题,我什至无法弄清楚 myArrayreturn [myArray count]numberOfRowsInSection方法中会是什么......完全丢在这里!帮助表示赞赏!

4

3 回答 3

1

[[[result objectForKey:@"applications"] objectForKey:@"iphone"] objectForKey:@"application"]将返回数组,因此最好存储此数组并在需要的地方使用它,如下所示:

NSArray *titleArray = [[[result objectForKey:@"applications"] objectForKey:@"iphone"] objectForKey:@"application"];

要存储此数组,您可以使用实例变量,以便您可以使用整个文件。

于 2012-06-12T14:27:32.230 回答
0

您可以将这些标题存储在一个数组中,然后将此数组用作表的数据源。您的 myArray 将是您存储标题的数组。

于 2012-06-12T14:25:42.250 回答
0

首先是应用程序字典
这个应用程序字典有一个键 iPhone 字典
这个 iphoneDic 有一个字典数组

NSMutableDictionary *applicationsDict = [response objectForKey:@"applications"];
NSMutableDictionary *iphoneDict = [applicationsDict objectForKey:@"iphone"];
NSMutableArray *applicationArray = [iphoneDict objectForKey:@"application"];

现在在 table view 的方法 numberOfRowInSection: 中返回数组计数

return [applicationArray count]

现在在 cellForRowAtIndexPath: mthod 我们将使用这个 applicationArray
Use Array ...

NSMutableDictionary *titleDict = [applicationArray objectAtIndex:indexPath.row];
cell.titleLabel.text = [titleDict objectForKey:@"title"];

我希望这能帮到您

于 2012-06-12T15:05:20.627 回答