NSKeyedArchiver保存的格式是什么?

时间:2010-03-15 14:39:57

标签: objective-c cocoa-touch nskeyedarchiver

当我使用NSKeyedArchiver是写入* .plist的数据时,我看到一些例子,人们将输出文件缩小为* .txt,甚至根本没有扩展名?

-(void)saveCore {
    NSMutableData *data = [[NSMutableData alloc] init];
    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
    [archiver encodeObject:reactorCore forKey:@"CORE"];
    [archiver finishEncoding];
    [data writeToFile:[self dataFilePath] atomically:YES];

    [data release];
    [archiver release];
}

加里

1 个答案:

答案 0 :(得分:15)

您可以使用所需的任何文件扩展名。它与NSKeyedArchiver使用的实际文件格式完全无关。默认情况下,存档将采用二进制形式,但如果将存档器的outputFormat属性设置为NSPropertyListXMLFormat_v1_0,它将编写XML plist。当你这样做时,你应该给你的文件一个.plist或.xml扩展名。