Make sure that your save is successful:
if (![NSKeyedArchiver archiveRootObject:myDictionary toFile:path])
{
// saving failed for some reason
return;
}
Also make sure the file exists before trying to unarchive it:
if ([[NSFileManager defaultManager] fileExistsAtPath:path])
{
// file does not exist at path (deleted?)
return;
}