ObjectiveC - Коллекция пары ключ-значение с дублирующимися ключами - PullRequest
4 голосов
/ 08 июня 2011

Предоставляет ли ObjectiveC коллекцию для пар ключ-значение, которые позволяют ключу встречаться несколько раз?

Я пытаюсь разобрать файл XML в некоторую простую структуру.Все вещи уже работают с вложенным NSDictionary, но теперь элементы xml могут появляться несколько раз.

Редактировать: Мое решение

Я выбираю NSArray с KeyValuePairs, оказалось, что мне нужно что-то, чточувствительный к порядку, NSDictionary не был возможен.Побочный эффект: NSFastEnumeration легко реализовать таким способом для моей коллекции.

Ответы [ 3 ]

4 голосов
/ 08 июня 2011

Нет, у Какао такой коллекции нет.Если вы не хотите использовать стороннюю библиотеку для этого, вы можете смоделировать это, используя NSDictionary со значениями NSArray.Или вы можете взглянуть на CHDataStructures framework.

3 голосов
/ 08 июня 2011

Это был бы не очень хороший ключ ....

Лучше всего иметь NSDictionary и для каждого ключа NSArray, содержащий все значения для этого ключа.

1 голос
/ 08 июня 2011

Или NSArray, содержащий столько NSDictionaries (или NSObjects каждый с ключом и свойством значения), сколько вам нужно.После этого вы сможете отфильтровать массив с помощью предиката, чтобы найти все вхождения определенного ключа и связанные с ним значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...