你好,我有NSMutableArray iconlocarr
。我还有另一个包含名为xmlnodes
的字典数据的数组,如下所示:
{
nodeChildArray = (
{
nodeContent = "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0004_black_low_cloud.png";
}
);
nodeName = weatherIconUrl;
}
我正在尝试将nodeContent
数据(图标网址)添加到我的iconlocarr
数组中:
[iconlocarr addObject:[[[xmlnodes objectAtIndex:i] objectForKey:@"nodeChildArray"] valueForKey:@"nodeContent"]];
我遇到的问题是上面的代码添加了以下数据:
(
{
nodeContent = "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0004_black_low_cloud.png";
}
)
我还想要的数据
"http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0004_black_low_cloud.png"
如何添加nodeContents数据而不是其余数据?目的是将数据传递给NSURL
答案 0 :(得分:1)
你确定它正在添加什么吗?从您的代码中,我希望它添加一个包含nodeContent
字符串的数组,例如
(
@"http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0004_black_low_cloud.png;
)
这里的问题是你试图从数组中提取单个值(你的nodeChildArray
值)并且你没有准确定义你想要怎么做。你想要数组中的第一项吗?最后?一个随机的项目?你应该搞清楚。无论如何,你可以使用
NSArray *ary = [[xmlnodes objectAtIndex:i] objectForKey:@"nodeChildArray"];
获取nodeChildArray
值,然后确定您要在其中选择哪个值以从中提取内容。
答案 1 :(得分:0)
请改为尝试:
iconlocarr addObject:[[[[xmlnodes objectAtIndex:i] objectForKey:@"nodeChildArray"] objectAtIndex:0] objectForKey:@"nodeContent"]];
将对象“nodeChildArray”视为数组,然后提取索引0,然后返回的字典将包含“nodeContent”。
答案 2 :(得分:0)
KVC应该轻松应对:
for (id nodeContents in [xmlnodes valueForKeyPath:@"nodeChildArray.nodeContent"])
[iconlocarr addObjectsFromArray:nodeContents];