如何从数组中表示对象?

时间:2010-02-04 00:24:17

标签: iphone objective-c cocoa-touch

我有以下数组,它是从JSON结果中检索的:

<NSCFArray 0x196e3e0>(  
{  
NameID = 3;  
Name = test1;  
},  
{  
NameID = 6;  
Name = test2;  
}  
)

我想通过tableview浏览每个对象,并将其值分配给自定义tableview单元格中的标签。如何在每次迭代时访问NameID和Name?我是否需要创建一个具有这两个属性的类并从数组中分配它?

2 个答案:

答案 0 :(得分:4)

假设数组类似于:

NSArray * array = [NSArray arrayWithObjects:
    [NSDictionary dictionaryWithObjectsAndKeys:
        [NSNumber numberWithInt:3], @"NameID", @"test1", @"Name", nil],
    [NSDictionary dictionaryWithObjectsAndKeys:
        [NSNumber numberWithInt:6], @"NameID", @"test2", @"Name", nil],
    nil];

您可以像这样迭代:

NSEnumerator *enumerator = [array objectEnumerator];
id obj;
while ((obj = [enumerator nextObject]))
{
    NSLog(@"NameID:[%@]; Name:[%@]",
        [obj objectForKey:@"NameID"],
        [obj objectForKey:@"Name"]);
}

输出:

2010-02-04 11:41:53.266 x[8739] NameID:[3]; Name:[test1]
2010-02-04 11:41:53.267 x[8739] NameID:[6]; Name:[test2]

答案 1 :(得分:1)

这是一个NSDictionary数组,所以只需遍历数组并转换为NSDictionary,然后请求获取值的键。