我想创建一个结构或对象,然后将其保存在文件中,但我很困惑。 你是否展示了这些步骤?
我曾尝试使用writeToFile方法,但对我来说这不是一个好的解决方案,因为我想编写一个结构化文件,其中有各种字段(name,surname,bool field ......)。
我不想使用数据库
答案 0 :(得分: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);
}