我想创建一个结构或对象,然后将其保存在一个文件中,但我对此感到困惑。你显示步骤吗?
我曾尝试使用 writeToFile 方法,但这对我来说不是一个好的解决方案,因为我想编写一个结构化文件,其中有各种字段(姓名、姓氏、布尔字段...)。
我不想使用数据库
我想创建一个结构或对象,然后将其保存在一个文件中,但我对此感到困惑。你显示步骤吗?
我曾尝试使用 writeToFile 方法,但这对我来说不是一个好的解决方案,因为我想编写一个结构化文件,其中有各种字段(姓名、姓氏、布尔字段...)。
我不想使用数据库
您可能想要做的是创建一个 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);
}