У меня проблемы с попыткой составить список в моем приложении.Я создал пользовательский, и он копируется в папку документов, так что значения могут быть добавлены.Я до сих пор настроил все, и все в нем выглядит нормально, но когда я редактирую значение и сохраняю его, все значения, кажется, изменяются на то, что когда-либо было тем, которое я только что сохранил.Я немного схожу с ума по этой проблеме, так как она кажется, что я ее исправляю, но она продолжает терпеть неудачу.Также мой plist формат - Root - элемент массива 0 - настройка словаря - строковое значение - строковый элемент 1 - настройка словаря - строковое значение - строковый элемент 1 - настройка словаря - строковое значение - строка OtherValue - строка
Переменные для корневого файлаNSMutableArray * settingsArray;
Приложение находится в виде таблицы и имеет подробный вид с одним текстовым полем.
-(void)viewdidload{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"settings.plist"];
NSMutableArray *tmpArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
self.settingsArray = tmpArray;
[tmpArray release];
}
внутри метода cellForRowAtIndexPath
// Configure the cell.
cell.textLabel.text = [[self.settingsArray objectAtIndex:indexPath.row] objectForKey:@"Setting"];
return cell;
внутри didselectrowatindexМетод
drinkDetailViewController.settingsDictionary = [self.settingsArray objectAtIndex:indexPath.row];
Переменные подробного вида
NSMutableDictionary *settingsDictionary;
NSMutableArray *settingValArray;
в представлении подробного видаwillppear метод
settingNamelabel.text = [settingsDictionary objectForKey:@"Setting"];
valueTextField.text = [settingsDictionary objectForKey:@"Value"];
Это метод сохранения
- (IBAction) save: (id) sender {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"settings.plist"];
NSMutableArray *tmpArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
self.settingValArray = tmpArray;
[settingValArray setValue:valueTextField.text forKey:"Value"];
[settingValArray writeToFile:path atomically:YES];
}