在cocoa中保存文件

时间:2010-05-29 00:25:37

标签: file cocoa save

我确信这是一个非常容易回答的问题,但我仍然是可可的新手。我需要保存我的应用程序数据。该应用程序有4个文本字段,每个字段需要保存到一个文件中。然后当你打开文件时,它需要知道什么字段。我真的很困惑。另外,我知道如何使用保存面板。

1 个答案:

答案 0 :(得分:9)

一种方便的方法是使用PLists

NSDictionary *arr = [NSDictionary dictionaryWithObjectsAndKeys:
                      string1, @"Field1", string2, @"Field2", nil];
NSData *data = [NSPropertyListSerialization dataFromPropertyList:arr
                format:NSPropertyListXMLFormat_v1_0 errorDescription:nil];

NSSavePanel *panel = [NSSavePanel savePanel];

NSInteger ret = [panel runModal];
if (ret == NSFileHandlingPanelOKButton) {
    [data writeToURL:[panel URL] atomically:YES];
}

反序列化:

NSData       *data = [NSData dataWithContentsOfURL:urlOfFile];
NSDictionary *dict = [NSPropertyListSerialization propertyListFromData:data
                       mutabilityOption:NSPropertyListImmutable
                       format:nil errorDescription:nil];
NSString *string1 = [dict objectForKey:@"Field1"];
// ... etc.