У меня было это, как уже упоминалось, словарь не может быть сохранен с некоторыми типами данных (заметными NULL).
Поскольку мой словарь был с сервера (в форме JSON), я не мог гарантироватьчто было в нем, поэтому я сохранил данные RAW (из dataWithContentsOfURL) до сериализации JSON.С этой целью, я полагаю, вы могли бы преобразовать dict в NSData и сохранить его - что-то вроде:
NSData *convetedData = [NSKeyedArchiver archivedDataWithRootObject:JSONDict];
А затем позже получить и преобразовать обратно, как это.
NSDictionary *JSONDict = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:convertedDATA];