我正在使用类似下面的代码将对象的 NSDictionary 保存到设备。有没有办法打开这个档案,深入到它包含的字典项目,并在理想情况下编辑数据?我的猜测是不,不可靠,因为保存时完成的优化使存档难以解释......至少在使用Property List Editor之类的东西打开时看起来是这样。例如,如果我的一些对象共享一个类似的 NSString,那么 NSString 似乎只归档一次......改变了我所期望的 NSDictionary 的结构。
- (BOOL)writeDataToFile {
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:myDictionary forKey:kDataKey];
[archiver encodeInteger:kDataFileVersion forKey:kDataVersionKey];
[archiver finishEncoding];
BOOL success = [data writeToFile:[self dataFilePath] atomically:YES];
[archiver release];
[data release];
return success;
}