0

我想创建一个结构或对象,然后将其保存在一个文件中,但我对此感到困惑。你显示步骤吗?

我曾尝试使用 writeToFile 方法,但这对我来说不是一个好的解决方案,因为我想编写一个结构化文件,其中有各种字段(姓名、姓氏、布尔字段...)。

我不想使用数据库

4

1 回答 1

0

您可能想要做的是创建一个 NSDictionary 或 NSMutabledictionary (其中包含键/值对),然后将其写入文件。这是一个快速而肮脏的示例。

首先定义你的 NSDictionary...

@property (nonatomic, strong) NSDictionary *someInfo;

然后以下函数将查找该文件。如果文件存在,则将其读入 NSDictionary;如果文件不存在,它将创建并写出它。您可能希望使用 NSMutabledictionary,因为您可以在创建后更改值和键。此外,请注意保存字符串(或 nill)以外的值。您可以从 ViewDidLoad 调用此函数...

- (void)readDictionary {
// check to see if the file exist

NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)
                    objectAtIndex:0];
NSString *docFilePath = [docDir stringByAppendingPathComponent:@"saveinfo.plist"];

NSFileManager *filemgr;
filemgr = [NSFileManager defaultManager];

if ([filemgr fileExistsAtPath:docFilePath]) {
    _someInfo = [[NSDictionary alloc] initWithContentsOfFile:docFilePath];
} else {
    _someInfo = [NSDictionary dictionaryWithObjectsAndKeys:@"John", @"firstName",
                 @"Smith", @"lastName", nil];
    if (![_someInfo writeToFile:docFilePath atomically:YES]) {
        NSLog(@"Errro writing plist");
    }
}

//NSLog(@"%@", _someInfo);
}
于 2013-07-19T03:31:21.840 回答