0
我想创建一个结构或对象,然后将其保存在一个文件中,但我很困惑。 您是否显示步骤?在Xcode中写入二进制文件
我试图使用writeToFile方法,但它不是一个很好的解决方案,因为我想写一个结构化文件,其中有各种字段(名称,姓氏,布尔字段...)。
我不想使用数据库
我想创建一个结构或对象,然后将其保存在一个文件中,但我很困惑。 您是否显示步骤?在Xcode中写入二进制文件
我试图使用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);
}
感谢这个解决办法,但我认为这是不适合我,因为在一个文件中我要救了很多东西用相同的领域;例如我想保存关于联系人的信息(名字,姓氏,电话号码,已婚或不...)。因此,我保存了一个联系人的姓名,姓名,电话号码,已婚或不是...的信息和然后保存追加其他信息(名字,姓氏,电话号码,已婚或不...)。我不知道我是否准确 –
然后你可能想创建一个dictionarys数组,保存数组与保存字典非常相似。 –