NSKeyedUnarchiver加载行使启动时崩溃

时间:2012-12-18 16:58:05

标签: ios loading save nskeyedarchiver

我在使用NSKeyedUnarchiever加载对象时遇到问题 My Object是一个NSDictionary,它包含几个像Arrays这样的对象和一些我自己的对象。它们都符合NSCoding协议。

我像这样保存我的对象:

[NSKeyedArchiver archiveRootObject:myDictionary toFile:path];

如果我使用此代码在同一次运行中加载Object:

myDictionary = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
一切正常。
但是当我退出应用程序并再次打开它时,它会在此线路上崩溃。

有没有人知道出了什么问题?

1 个答案:

答案 0 :(得分: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;
}