for (int i=0; i<[data count]; i++) {
NSArray *item = [data objectAtIndex: i];
//NSString *index = item->id;
NSLog(@"%@", item);
}
输出结果为:
2011-03-07 20:48:46.949 hest[1796:207] {
id = 1;
src = "http://img0.gmodules.com/ig/images/igoogle_logo_sm.png";
}
但在做的时候:
NSString *index = item->id;
输出失败:
struct NSArray has no member named id
访问会员的正确方法是什么?
答案 0 :(得分:4)
您可以从记录对象的格式中了解它实际上不是NSArray
。这是一个NSDictionary
。如果你不熟悉这两个,这里有一个基本的想法:一个数组存储基于整数位置的对象。字典根据“密钥”存储内容。
要从字典中提取值,请使用它的“objectForKey:”方法:
id value = [item objectForKey:@"id"];
答案 1 :(得分:0)
您将从[data objectAtIndex: i]
返回的项目分配给键入为NSArray
的本地变量。您应该使用您希望数据数组包含的实际类型。
NSArray *item = [data objectAtIndex: i];
应该是
MyImageDataType *item = [data objectAtIndex: i];