Каков наилучший способ получить вложенные словари из стороннего списка? - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть список IOS, сгенерированный приложением третьей стороны, к которому я пытаюсь подключиться, следовательно, я не могу изменить формат списка.Часть, которая доставляет мне неприятности - это массив словарей, массив cardList.Я загрузил plist в NSMutableDictionary без проблем и могу «сбросить» массивы cardList и colorLabelList.

Первый вопрос: Каков наилучший способ доступа к каждому члену массива Item?т. е. черновик, этикетка и т. д. для каждой карточки в списке.

2-й вопрос: Является ли мой подход "загрузка в NSMutableDictionary" лучшим выбором?

Вот схема расположения списка:

cardlist   Array
  item 0   Dictionary
     draft   boolean
     label   string
     notes   string
     ...
  item 1   Dictionary
     draft
     label
     notes
     ...
name       string
sortOrder  number

1 Ответ

0 голосов
/ 20 декабря 2011

Используйте NSMutableDictionary только в том случае, если вы действительно собираетесь изменять данные, в противном случае используйте стандартный NSDictionary (это скорее стиль, фактическая реализация на самом деле не меняется).

Если вы хотите циклически перемещаться по массиву списка карт, выполните следующие действия:

//This will enumerate through the array element by element
for (NSMutableDictionary *dictionary in cardlist) {
   //Ok, now we have a dictionary from cardlist
   //Let's print the items to the console
   NSLog(@"draft: %i", [dictionary valueForKey:@"draft"]); //Note, there are better ways print print a bool to the log, but this will work for now
   NSLog(@"label: %@", [dictionary valueForKey:@"label"]);
   NSLog(@"notes: %@", [dictionary valueForKey:@"notes"]);

}

Это должно пройти через весь ваш список карт и вывести значения.

...