То, что вы, вероятно, хотите сделать, это создать 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);
}
Благодарить за это решение, но я думаю, что это не хорошо для меня, потому что в одном файле я хочу, чтобы сэкономить много вещей, с теми же полями; например, я хочу сохранить информацию о контактах (имя, фамилия, номер, брак или нет ...). Поэтому я сохраняю один контакт с его информацией (имя, фамилия, номер, женатый или нет ...) и затем сохраните добавление другого контакта с другой информацией (имя, фамилия, номер, женатый или нет ...). Я не знаю, был ли я точен –
Тогда вы можете создать массив словарей, сохранение массива очень похоже на сохранение словаря. –