如何将数据附加到NSKeyedArchiver?

时间:2011-10-05 15:38:00

标签: file-io nsdata nskeyedarchiver

我正在读一个这样的文件:

NSData *data = [NSData dataWithContentsOfFile:myPath];

NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];


NSData *imgData = [unarchiver decodeObjectForKey:@"myimage"];

if (imgData != nil) {
    self.image = [[NSImage alloc]initWithData:imgData];
}else{
    self.image = nil;
}

[unarchiver finishDecoding];
[unarchiver release];

我想要做的是将key @“myimage”的图像数据附加到同一个文件中(如果它不存在)。

如何去做?

2 个答案:

答案 0 :(得分:2)

似乎没有办法“追加”到NSKeyedArchive,所以我只是在添加额外数据的情况下重新创建它并写入原始文件。

答案 1 :(得分:-1)

 NSString *archivePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"any name"];
[NSKeyedArchiver archiveRootObject:your object(example:singletonDataObjectref) toFile:archivePath];