我的视图控制器有很多布尔值、字符串和整数,它们使用 NSCoding 保存,然后几个类保存更多相同类型的信息。我通过将视图控制器放在 NSMutableDictionary 中并使用 NSKeyedArchive 保存它来将它们联系在一起。
NSMutableDictionary *rootObject;
rootObject = [NSMutableDictionary dictionary];
[rootObject setValue:self.controllers forKey:@"controllers"];
[NSKeyedArchiver archiveRootObject:rootObject toFile:path];
使用 NSKeyedUnarchiver 设置视图控制器会带回所有的 NSCoded 数据,并且效果很好。
我正在考虑实施 iCloud,但对实现它的最佳方式感到困惑。如果我将 NSMutableDictionary 存储在专门用于保存的 UIDocument 类中然后加载它,它会携带 NSCoded 值吗?