2010-03-15 71 views
3

我做了一個符合NSCoding協議的類,並且完成了所有的編碼和解碼工作。如何堅持並加載符合NSCoding協議的對象?

對於我的應用程序,我只是想將該類中的對象持久存儲到設備中,並且下次啓動應用程序時,我想將該對象加載回內存。

基本上它只是一個保存一些用戶輸入信息的類。例如,用戶開始編寫文本,但然後退出應用程序。下一次我想加載該數據對象。

我想我需要NSKeyedArchiver?有沒有一個很好的教程呢?我怎麼做?

回答

3

是的,你需要NSKeyed(Un)Archiver。這兩個類可以將您的對象轉換爲/從NSData,您可以將它保存/加載爲一個文件。

要將對象保存到文件中:

if (![NSKeyedArchiver archiveRootObject:your_object toFile:@"filename.plist"]) 
    // save failed. 

從文件中讀取對象:

id your_object = [NSKeyedUnarchiver unarchiveObjectWithFile:@"filename.plist"]; 
if (your_object == nil) 
    // read failed. 
+0

在哪裏存儲這個文件?在文件目錄中?這是由iTunes自動備份的嗎? – dontWatchMyProfile

+0

@mystify:你喜歡的任何地方(當然你需要提供完整的路徑。)如果文件被保存到〜/ Documents中,它將被備份。 – kennytm