NSDictionary lowercaseString错误

时间:2013-10-02 10:10:20

标签: ios soap nsdictionary nsmutabledictionary sudzc

我正在使用用SudzC生成的API,我有一个方法可以获得XML响应,我正在尝试反序列化为NSMutableDictionary。

这是反序列化的方法:enter image description here

当我得到Soap响应的值时,我将其转换并尝试在控制台日志中显示密钥:

enter image description here

问题是我收到了这个错误:

  

***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSDictionaryM lowercaseString]:无法识别的选择器发送到实例0x7277680'

     

我试过做同样但反序列化到NSMutableArray并且它有效,所以问题必须在deserialize方法但我找不到它。

2 个答案:

答案 0 :(得分:0)

在您的代码中的某个位置,您在{em>认为为lowercaseString的内容上调用NSString,但实际上是NSDictionary。在代码中搜索此方法调用。可能发生的事情是,您正在对正在解析的数据结构进行某些假设并不总是正确的。

此外,您可以将代码直接发布到StackOverflow中并保留格式。这比屏幕捕获图像好得多,因为这意味着人们可以复制/粘贴。

答案 1 :(得分:0)

您需要检查getParametersHandler的输出是NSString还是NSDictionary ..

检查代码

 if ([resp isKindOfClass:[NSDictionary class]]) {

        //here you can do what you want to do..

    }else{

        //here you need to show the alert(No values)

    }

如果处理程序中没有值,则输出将为NSString ...

快乐的编码......