在cocoa中保存文件

nos*_*e25 5 cocoa file save

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

Geo*_*che 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];
}
Run Code Online (Sandbox Code Playgroud)

对于反序列化:

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