Работа с непостоянными наборами
Набор непрозрачные типы CFArray, CFDictionary, CFSet и CFBag предлагает подобные наборы функций для управления значениями, содержавшими непостоянными наборами: добавление значений, удаление значений, замена значений, и т.д. Существуют некоторые различия в поведении на основе того, гарантирует ли набор уникальность ключей и значений. Табличные 1 сводки поведение функций переменчивости. Столбец Operation идентифицирует тип работы с помощью параметра, найденного в функции переменчивости, такой как «Замена» в CFDictionaryReplaceValue
.
С фиксированным размером непостоянные наборы необходимо заботиться, чтобы избежать добавлять вне полного предела. Набор фиксированного размера позволит Вам добавить столько значений, сколько Вы хотите, но не дает уведомления, когда Вы превышаете способность. Однако выполнение так приведет к неопределенному поведению, которое является наиболее вероятным нежелательным.
Тип CFArray обладает одной работой переменчивости, которая является особенной для него. С CFArraySortValues
функция можно сортировать значения, содержавшие массивом. Функция компаратора, которая должна соответствовать CFComparatorFunction
введите, используется для сравнения значений. Перечисление 1 дает пример использования CFArraySortValues
функция.
Перечисление 1 , Сортирующее массив
CFMutableArrayRef createSortedArray(CFArrayRef anArray) { |
CFIndex count = CFArrayGetCount(anArray); |
CFMutableArrayRef marray = CFArrayCreateMutableCopy(NULL, count, anArray); |
CFArraySortValues(marray, CFRangeMake(0, count), (CFComparatorFunction)CFStringCompare, NULL); |
return marray; |
} |
Заметьте что CFStringCompare
функция используется, в этом случае, для сравнения объектов CFString. Базовая Основа обеспечивает другие функции компаратора, которые имеют CFComparatorFunction
введите, особенно CFDateCompare
и CFNumberCompare
. Когда массив содержит Базовые объекты Основы, можно передать в надлежащей предопределенной функции компаратора CFArraySortValues
функционируйте для сортировки тех объектов.