2011-06-28 59 views

回答

5

我想也許你要問的是哪個更好,plist或者二進制。如果您使用writeToFile:將文件NSDictionary保存爲文件,它將作爲plist存儲。所以在這個意義上,兩者之間沒有差別。

但是,您也可以選擇將NSDictionary實例轉換爲序列化的NSData表示形式,然後將序列化的數據存儲爲二進制文件。

至於哪個更好,爲什麼取決於你想要做什麼。用於將NSDictionary轉換爲plist文件/從plist文件轉換的API比API用於序列化和重建NSData更爲方便。然而,存儲的NSDictionary是plist文件,如果一切都在字典中是一個的plist對象只能(實例NSDataNSDateNSNumberNSStringNSArray,或者NSDictionary),如果所有的按鍵都NSString類型。否則,您的呼叫將失敗,並提供有關原因的令人沮喪的信息。

因此,如果您的數據結構符合作爲plist存儲的要求,並且您無法預見它會被更改爲不再滿足要求,那麼您可能會發現將它更改爲plist更方便。否則,您唯一的選擇是使用NSData來執行二進制序列化和存儲。如果你想讓代碼不會被你的數據結構中的一個非plist對象所意外破壞,你可能更喜歡後一種選擇。

+0

在性能方面有什麼不同?二進制在理論上應該更快。 –

相關問題