如何附加NSMutableDictionary的值

时间:2012-04-18 15:24:30

标签: iphone objective-c xcode ios5 nsmutabledictionary

我有NSMUtableDictionary,它包含多个字典。我正在对该数据进行XML解析。 现在什么时候返回字典数据,它给我最后一个字典值。 这是我的代码:

    for(CXMLNode* child in [element children]) {
        id v = [Soap deserialize:child];
        if(v == nil) { 
            v = [NSNull null]; 
        }

        [d setObject:v forKey:[child name]];
    }
    NSLog(@"dData=%@",d);
    return d;

当我返回d的值时,它给出了最后一个字典值。 请建议我解决这个问题的方法。 谢谢

2 个答案:

答案 0 :(得分:0)

根据您的描述,[子名称]可能不是唯一的。为什么不是NSLog(@“child name =%@”,[child name]);在设置对象并确保名称是唯一的之前?

此外,您可以在任何地方设置断点和类型:

po d

在调试器中列出d。

的内容

答案 1 :(得分:-2)

您无法将NSNull对象作为字典插入NSMutableDictionary。每当您的第一个NSNull对象附加在字典(d)中时,这将指示您的字典结束。检查所有病例中是否存在CXMLNode的孩子。否则这是问题的根本原因。

考虑进入CXMLNode的数据来自互联网,然后首先检查该服务是否正在发送正确的数据。