Может быть, это будет слишком очевидно, но вы можете использовать следующие способы его изменения:
- Перейдите в TextEdit и измените содержимое между
- В двойном щелчке Xcode, чтобы добавить в список файлови отредактируйте его с помощью редактора plist, который предоставляет более удобный пользовательский интерфейс для редактирования plist.
- Напишите код ObjectiveC с использованием классов NSKeyedArchiver и NSKeyedUnarchiver для загрузки, изменения и сохранения словаря.
Идеальное решение для работы со словарями, хранящимися в списках:
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@ "plist"];
NSDictionary *plistDictionary = [NSDictionary dictionaryWithContentsOfFile:plistPath];
[plistDictionary setValue:@"newName" forKey:@"testKey"];
[plistDictionary writeToFile:plistPath atomically:YES];
Надеюсь, вы примете этот пример кода для своих собственных нужд.
... Хорошо, я получил его, вот пример кодадля вашей конкретной структуры plist:
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"yourPlist" ofType:@ "plist"];
NSMutableDictionary *plistDictionary = [[NSDictionary dictionaryWithContentsOfFile:plistPath] mutableCopy];
NSMutableArray *accountsArray = [(NSArray *)[plistDictionary valueForKey:@"accounts"] mutableCopy];
NSMutableDictionary *accountDictionary = [(NSDictionary *)[accountsArray objectAtIndex:0] mutableCopy];
[accountDictionary setValue:@"NewName" forKey:@"name"];
[accountsArray replaceObjectAtIndex:0 withObject:accountDictionary];
[plistDictionary setValue:accountsArray forKey:@"accounts"];
[plistDictionary writeToFile:plistPath atomically:YES];