Как добавить данные в NSKeyedArchive? - PullRequest
1 голос
/ 05 октября 2011

Я читаю файл примерно так:

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];

Что я хотел бы сделать, это добавить данные изображения для ключа @ "myimage" в тот же файл, если он не существует.

Как это сделать?

Ответы [ 2 ]

2 голосов
/ 07 октября 2011

Кажется, что нет способа "добавить" в NSKeyedArchive, поэтому я просто заново создал его с добавлением дополнительных данных и записал поверх исходного файла.

0 голосов
/ 17 сентября 2012
 NSString *archivePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"any name"];
[NSKeyedArchiver archiveRootObject:your object(example:singletonDataObjectref) toFile:archivePath];
...