2012-02-22 44 views
0

我需要知道我是否处于正确的轨道。我正在解析iPhone中的XML-RPC(使用eczarny框架),并且我正在使用对象获取数组。我创建一个NSData并存储一个对象。之后,我试图反序列化它,但得到错误。 代码:解析XML后的NSPropertyListSerialization

NSArray *result = [response object]; 
    NSData *data = [result objectAtIndex:0]; 
    NSLog(@"Data %@",data); 
    NSDictionary * message = nil; 
    NSString * error = nil; 
    message = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:NSPropertyListMutableContainers format:nil errorDescription:&error]; 

的的NSLog:

Data { 

    DESCRIPTION = "Standardverkn"; 
     FLAGS = 0; 
     NAME = "Fenster OG3"; 
     RECEIVER = "IEQ007:3"; 
     SENDER = "IEQ0043:1"; 
} 

错误:

-[__NSCFDictionary length]: unrecognized selector sent to instance 0x6e4bd50 

我在做什么错?

+0

'[结果objectAtIndex:0]'不是一个NSData,它是一个NSDictionary。 – kennytm 2012-02-22 11:38:40

+0

谢谢!!!!我一直认为这是nsdata。我如何奖励你? – alecnash 2012-02-22 11:42:02

+0

只需将其输入答案 – alecnash 2012-02-22 11:42:27

回答

0

[result objectAtIndex:0]已经是NSDictionary。你不需要反序列化它。您可以直接使用它作为message

(如果它是一个NSData,所述的NSLog将显示类似<12345678 9abcdef0 ...>。)