0

我有一个名为someArray. 我想访问NSArray. 我正在尝试使用以下方法访问它,但没有任何运气。我该如何正确地做到这一点?

cell.textLabel.text = [[someArray objectAtIndex:indexPath.row] objectForKey:@"name"];

some array {
    haserror = 0;
    headers =     {
        code = 0;
        haserror = 0;
        nodeid = "fe1.aaaaaa.2.undefined";
        time = 16;
    };
    results =     (
                {
            coords =             (
                "44.916667",
                "8.616667"
            );
            id = 2;
            key = alessandria;
            name = Alessandria;
            state = Piemonte;
            zip = 1512;
        },
                {
            coords =             (
                "43.616944",
                "13.516667"
            );
            id = 3;
            key = ancona;
            name = Ancona;
            state = Marche;
            zip = 601;
        },

}
4

2 回答 2

3

据我从您的数据模型中看到,键name是键下的一个节点results。您可以将此数据模型用作字典映射,下面的代码片段必须为您提供所需的内容。

NSDictionary *myObject = [[someArray objectAtIndex:indexPath.row] objectForKey:@"results"];
cell.textLabel.text = [myObject objectForKey:"name"];

重要提示: 如果您有一些 lopps 或其他一些接收数据的机制,可能会有更有效的方法来解决您的问题,所以请提供更多关于您正在尝试做什么的附加信息

于 2013-01-30T12:17:36.313 回答
1

正如其他人所指出的,someArray是字典,results而是指向字典内部数组的键。如果您想要数组中所有名称字段的results数组,您可以valueForKeyPath:someArray变量上使用,如下所示:

NSArray *names = [someArray valueForKeyPath:@"results.name"];

names变量现在应该包含来自您在示例代码中显示的数据集中的“Alessandria”和“Ancona”。

于 2013-01-30T16:00:18.360 回答