以下のコードのようなものを使用して、オブジェクトのNSDictionaryをデバイスに保存しています。このアーカイブを開き、アーカイブに含まれているディクショナリアイテムにドリルダウンして、理想的にはデータを編集する方法はありますか?保存時に最適化を行うとアーカイブの解釈が難しくなるため、私の推測ではありません。少なくとも、プロパティリストエディタなどで開くと、そのように表示されます。たとえば、私のオブジェクトのいくつかが同様の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;
}