2012-02-22 23 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 ...>。)