Как изменить значение внутри словаря в массиве, который находится внутри словаря? - PullRequest
4 голосов
/ 28 августа 2010

У меня есть словарь plist с несколькими массивами, каждый из которых имеет разное количество элементов.Эти предметы тоже словари.Так что в основном это выглядит так:

  • Корневой словарь
    • массив имен
    • массив мест
    • Элемент 0 словарь
    • Словарь элементов 1
    • Строка placeName: "Дом"
    • Строка описания: "Мой Дом"
    • Высота: 10
  • Словарь элементов 2
  • ...
массив цветов ...

IЯ хочу найти лучший способ изменить значение внутри одного из этих массивов (placeName, description, height).

plist является частью ресурсов, поэтому я называю его так:

[[NSMutableDictionary alloc] initFromName:@"mydefaults.plist"];

Я видел методы setValue: forKey, но похоже, что я в беспорядке.Я не думаю, что мне нужно устанавливать весь массив целиком, если это всего лишь одно значение.

Итак, какой путь лучше?

1 Ответ

6 голосов
/ 28 августа 2010

Как насчет чего-то вроде

[[[plistDictionary objectForKey:@"places"] objectAtIndex:1] setValue:@"Another house" forKey:@"placeName"]

если «внутренние» массивы и словари действительно изменчивы.

...