Введение
Базовые объекты коллекции Основы помогают Вам сохранить, организовать и получить «количества» данных фактически всех типов. Эта тема описывает объекты, позволяющие Вам группироваться, другие типы объектов в, например, выстраивают, устанавливают, или словари.
Разработчики, использующие Базовую Основу для их базовой функциональности, должны понять, как работают наборы.
Организация этого документа
В дополнение к организации данных для быстрого и точного извлечения объекты коллекции дают несколько преимуществ программированию:
Они позволяют Вам настраивать автоматическое поведение наборов удовлетворить типу хранивших данных (Настройка Набора).
Они могут применить определенную с помощью программы логику ко всем элементам данных в наборе (Применение Определенных с помощью программы Функций к Наборам).
Они могут гарантировать уникальность элементов данных, добавленных к набору.
Они позволяют Вам изменить (добавьте, вставьте, удалите, сортируйте, и т.д), элементы данных в наборе.
Они важны для Базовых списков свойств Основы, вместе со строковыми объектами (CFString), объекты числа (CFNumber и CFBoolean), и объекты данных (CFData). Посмотрите, что Список свойств Программирует Темы для Базовой Основы для подробных данных.
Базовая Основа определяет несколько типов объектов коллекции:
Объекты массива (непрозрачного типа CFArray) организуют элементы последовательной позицией.
Объекты словаря (непрозрачного типа CFDictionary) идентифицируют элементы через произвольный ключ.
Объекты набора (непрозрачного типа CFSet) являются набором элементов, в которых нет никаких копий.
Объекты сумки (непрозрачного типа CFBag) являются набором элементов, в которых могут быть копии.
Древовидные объекты (непрозрачного типа CFTree) организуют элементы в иерархическом (родительские дочерние элементы) отношения.
Объекты коллекции, до некоторой степени, являются контейнерами значений. (В этом документе слово «значение» обозначает элемент, содержавший набором.), Но существуют значительные различия в том, как наборы содержат и распределяют свои значения. Организация понятий в этой теме отражает эти различия. Что можно было бы назвать “истинными наборами” — массивы, словари, наборы, и сумки — описаны вместе из-за их сильных сходств. Тогда эта тема продолжает описывать деревья, структурно очень отличающиеся от истинных наборов.
Наборы API позволяют Вам делать ожидаемые вещи с объектами коллекции: создайте их, добавленные стоимости им, извлеките значения от них и т.д. Поскольку интерфейсы программирования CFArray, CFDictionary, CFSet и CFBag очень подобны в том, что они делают и как они делают это, следующие разделы включают все эти типы в свои обсуждения. Однако интерфейсы программирования объектов CFTree достаточно отличаются, что задачи, связанные с этими объектами, описаны в Создании и Используя Древовидные структуры.