2012-12-18 49 views
2

我有加載與NSKeyedUnarchiever的對象的問題。
我的對象是一個NSDictionary,它包含幾個對象,如數組和我自己的一些。它們都符合NSCoding協議。NSKeyedUnarchiever加載行使應用程序崩潰開始

保存我的對象是這樣的:

[NSKeyedArchiver archiveRootObject:myDictionary toFile:path]; 

如果我加載對象在同一運行這段代碼:

myDictionary = [NSKeyedUnarchiver unarchiveObjectWithFile:path]; 

一切正常。
但是,當我退出應用程序並再次打開它時,它在此行崩潰。

有沒有人有一個想法是什麼錯?

回答

0

確保您保存成功:

if (![NSKeyedArchiver archiveRootObject:myDictionary toFile:path]) 
{ 
    // saving failed for some reason 
    return; 
} 

還要確保該文件試圖解除封存之前存在:

if ([[NSFileManager defaultManager] fileExistsAtPath:path]) 
{ 
    // file does not exist at path (deleted?) 
    return; 
} 
+0

謝謝您的回答。 這不是解決方案,但它幫助我弄清楚了。 在我的一個課上,我試圖保存視圖屬性,這一切都搞砸了。 修復後,現在一切正常。 :) MartinLücke – Redtoasty