Набор
Набор является объектом платформы Основы, основная роль которого должна хранить объекты в форме массивов, словарей и наборов.
Классы набора
Основные классы —NSArray, NSSet, и NSDictionary— совместно используйте много функций вместе:
Они могут содержать только объекты, но объекты могут иметь любой тип. Экземпляр
NSArray, например, мог содержать кошек, собак, или вомбатов или любую комбинацию их.Они поддерживают сильные ссылки к своему содержанию.
Они являются неизменными, но имеют непостоянный подкласс, позволяющий Вам изменять содержание набора.
Можно выполнить итерации по их использованию содержания
NSEnumeratorили быстрое перечисление.
Какао также обеспечивает три класса —NSPointerArray, NSHashTable, и NSMapTable— это моделируется на этих классах, но которые отличаются следующими способами:
Они могут содержать элементы кроме объектов.
Они предлагают другие опции управления памятью.
Они являются непостоянными.
Так как объект коллекции Какао может содержать любой вид объекта (в отличие от наборов в некоторых других средах), Вы обычно не создаете специальные классы набора для содержания объектов определенного типа.
Упорядочивание схем
Наборы хранят и продают другие объекты в определенной схеме упорядочивания:
NSArrayи его непостоянный подклассNSMutableArrayиспользуйте основанную на нуле индексацию.В других средах массив можно вызвать вектором, таблицей или списком.
NSPointerArrayмоделируется послеNSMutableArray, но это может также содержатьNULLзначения (которые способствуют количеству объекта). Можно также установить количество массива указателей непосредственно (что-то, что Вы не можете сделать в традиционном массиве).NSDictionaryи его непостоянный подклассNSMutableDictionaryиспользуйте пары ключ/значение.В других средах словарь может упоминаться как хэш-таблица или хешировать карту.
NSMapTableмоделируется послеNSMutableDictionaryно предоставляет различные возможности, в частности поддерживать слабые отношения в собравшей «мусор» среде.NSSetи его непостоянный подклассNSMutableSetобеспечьте неупорядоченное хранение объектов.Какао также обеспечивает
NSCountedSet, который является подклассомNSMutableSetи который проводит подсчет того, сколько раз каждый объект был добавлен к набору.NSHashTableмоделируется послеNSMutableSetно предоставляет различные возможности, главным образом поддерживать слабые отношения в собравшей «мусор» среде.