2010-07-10 71 views
0

Web服務以plist的形式提供數據。下載後,我有一個NSData對象中的所有數據,我想將其轉換爲NSDictionary。現在我知道的唯一辦法做到這一點,而無需手動(呸)解析它是這樣的:iPhone:缺少方法? NSDictionary dictionaryWithData:

static NSString *fileName = @"tempFile"; 
[data writeToFile: fileName atomically: NO]; 
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile: fileName]; 

我很驚訝的NSDictionary不具有dictionaryWithData:方法。如果dictionaryWithString:存在,我甚至不會介意將NSData首先轉換爲NSString。很明顯,SDK在底層做了類似的事情,但它並沒有暴露給開發人員。

任何人都可以提出一個更好的方法來做到這一點?我需要轉換的一個文件可能會非常大,並且執行寫入文件+從文件讀取操作可能會有點慢。

回答

2

使用下列之一:

+[NSPropertyListSerialization propertyListFromData:mutabilityOption:format:errorDescription:] 
+[NSPropertyListSerialization propertyListWithData:options:format:error:] 

前者是可用的iOS 2.0+但4.0已被棄用。

+0

非常好!這正是我需要的。 – Amagrammer 2010-07-10 16:41:14