我想知道如何从字典中检索数组,然后从数组对象中检索字典。
我正在关注此http://ios.biomsoft.com/2011/09/11/simple-xml-to-nsdictionary-converter/
itemDict
(
{
postID = {
text = 26;
};
score = {
text = 20;
};
title = {
text = "http://www.google.com quiz";
};
url = {
text = "http://www.google.com";
};
},
{
postID = {
text = 27;
};
score = {
text = 10;
};
title = {
text = "http://www.google.com";
};
url = {
text = "http://www.google.com";
};
},
{
postID = {
text = 3;
};
score = {
text = 41;
};
title = {
text = "http://www.google.com";
};
url = {
text = "http://www.google.com";
};
},
{
postID = {
text = 35;
};
score = {
text = 10;
};
title = {
text = "Sample Video";
};
url = {
text = "http://www.google.com";
};
},
{
postID = {
text = 43;
};
score = {
text = 30;
};
title = {
text = "sample";
};
url = {
text = "http://www.google.com";
};
}
)
答案 0 :(得分:1)
让我们假设你解析它并有类似的东西:
(
//object 0
{
postID= 26;
score = 20;
title = www.google.com
url = www.google.com
},
//object 1
{
postID= 27;
score = 10;
title = www.google.com
url = www.google.com
}...
)
这是你的数组。
objectAtIndex:0,在此示例中为:
{
postID= 26;
score = 20;
title = www.google.com
url = www.google.com
}
是一本字典。
答案 1 :(得分:1)
好的,你想要做的是以下几点。
从我发布的链接中我可以收集的内容中,您有一个顶级NSDictionary
,其中包含其中的XML。在NSDictionary
中会有一个对象,从你的例子中可能是itemDict
,但在我看来,它看起来更像是NSArray。
从这里开始,我将NSArray
存储在另一个内。
该数组中的每个对象都是一个NSDictionary
个键和与之匹配的对象。显然我正在谈论这一点。
{
postID = {
text = 26;
};
score = {
text = 20;
};
title = {
text = "http://www.google.com quiz";
};
url = {
text = "http://www.google.com";
};
},
也许以下内容会让你深入了解。
NSArray *itemArray = [xmlDictionary objectForKey:@"itemDict"];
for (NSDictionary *dict in itemArray) {
NSLog(@"Dictionary: %@", dict);
}
该代码应显示NSArray中每个NSDictionary的输出。从这里可以看出用NSDictionary做任何你想做的事情。
编辑
刚看了一眼,我想也加入了这个。 看起来我们用上面的代码制作了每个NSDictionary,然后有另一个对象的键,该对象存储在另一个字典中。如果你问我,那些XML真的很奇怪......
但是,解决方法可能如下:
NSArray *itemArray = [xmlDictionary objectForKey:@"itemDict"];
for (NSDictionary *dict in itemArray) {
NSLog(@"Dictionary: %@", dict);
for (NSDictionary *dictObject in [dict allKeys]) {
NSLog(@"Dictionary Object: %@", dictObject);
}
}
如果这不是您想要做的,请编辑您的问题,以便我能够纠正我的回复。
希望有所帮助!