Ссылка CFArray
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreFoundation
Objective C
@import CoreFoundation;
CFArray и его полученный непостоянный тип, Ссылка CFMutableArray, управляют, упорядоченные наборы значений вызвали массивы. CFArray создает статические массивы, и CFMutableArray создает динамические массивы.
Вы создаете статический объект массива, использующий любого CFArrayCreate или CFArrayCreateCopy функция. Эти функции возвращают массив, содержащий значения, в которых Вы передаете как параметры. (Обратите внимание на то, что массивы не могут содержать NULL указатели; в большинстве случаев, тем не менее, можно использовать kCFNull постоянный вместо этого.) Когда массив создавался, значения не копируются, но сохранили использование сохранить обратного вызова, предоставленного. Точно так же, когда значение удалено из массива, оно выпущено с помощью обратного вызова выпуска.
Две примитивных функции CFARRAY CFArrayGetCount и CFArrayGetValueAtIndex обеспечьте основание для всех других функций в его интерфейсе. CFArrayGetCount функционируйте возвращает число элементов в массиве; CFArrayGetValueAtIndex предоставляет Вам доступ к элементам массива индексом, с индексными значениями, запускающимися в 0.
Много функций CFArray позволяют Вам действовать по диапазону значений в массиве, например CFArrayApplyFunction позволяет Вам применить функцию к значениям в массиве, и CFArrayBSearchValues ищет массив значение, соответствующее его параметр. Вспомните, что диапазон определяется как {start, length}, поэтому для работы по целому массиву диапазон, который Вы предоставляете, должен быть {0, N} (где N количество массива).
CFArray “бесплатный соединенный мостом” с его дубликатом Основы Какао, NSArray. Это означает, что Базовый тип Основы является взаимозаменяемым в вызовах функции или вызовах метода с соединенным мостом объектом Основы. Поэтому в методе, где Вы видите NSArray * параметр, можно передать в a CFArrayRef, и в функции, где Вы видите a CFArrayRef параметр, можно передать в экземпляре NSArray. Это также применяется к конкретным подклассам NSArray. Посмотрите Бесплатные Соединенные мостом Типы для получения дополнительной информации о бесплатном образовании моста.
-
Создает новый неизменный массив с данными значениями.
Объявление
Swift
func CFArrayCreate(_allocator: CFAllocator!, _values: UnsafeMutablePointer<UnsafePointer<Void>>, _numValues: CFIndex, _callBacks: UnsafePointer<CFArrayCallBacks>) -> CFArray!Objective C
CFArrayRef CFArrayCreate ( CFAllocatorRef allocator, const void **values, CFIndex numValues, const CFArrayCallBacks *callBacks );Параметры
allocatorСредство выделения для использования для выделения памяти для нового массива и его хранения для значений. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.valuesМассив C значений размера указателя, чтобы быть в новом массиве. Значения в новом массиве упорядочиваются в том же порядке, в котором они появляются в этом массиве C. Это значение может быть
NULLеслиnumValues0. Этот массив C не изменен или освобожден этой функцией. Еслиvaluesне допустимый указатель на массив C, по крайней мере,numValuesэлементы, поведение не определено.numValuesЧисло значений для копирования со значений C выстраивает в новый массив. Это число будет количеством нового массива — это не должно быть отрицательным или больше, чем число элементов в
values.callBacksУказатель на a
CFArrayCallBacksструктура, инициализированная с обратными вызовами для массива для использования на каждом значении в наборе. Сохранить обратный вызов используется в этой функции, например, для сохранения всех новых значений от значений C массив. Копия содержания структуры обратных вызовов сделана, так, чтобы указатель на структуру на штабеле мог быть передан в или мог быть снова использован для многократных созданий набора.Это значение может быть
NULL, который обрабатывается как будто допустимая структура версии0со всеми полямиNULLбыл передан в. Иначе, если какое-либо из полей не является допустимыми указателями на функции корректного типа, или это значение не является допустимым указателем на aCFArrayCallBacksструктура, поведение не определено. Если какое-либо значение, помещенное в набор, не является тем, понятым под одной из функций обратного вызова, поведение, когда та функция обратного вызова используется, не определено.Если набор содержит только объекты CFType, то передайте указатель на
kCFTypeArrayCallBacks(&kCFTypeArrayCallBacks) использовать функции обратного вызова по умолчанию.Возвращаемое значение
Новый неизменный массив, содержащий
numValuesотvalues, илиNULLесли была проблема, создающая объект. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Создает новый неизменный массив со значениями от другого массива.
Объявление
Swift
func CFArrayCreateCopy(_allocator: CFAllocator!, _theArray: CFArray!) -> CFArray!Objective C
CFArrayRef CFArrayCreateCopy ( CFAllocatorRef allocator, CFArrayRef theArray );Параметры
allocatorСредство выделения для использования для выделения памяти для нового массива и его хранения для значений. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.theArrayМассив для копирования.
Возвращаемое значение
Новый объект CFArray, содержащий те же значения как
theArray. Владение соблюдает Создать Правило.Обсуждение
Указатель оценивает от
theArrayкопируются в новый массив; значения также сохраняются новым массивом. Количество нового массива совпадает сtheArray. Новый массив использует те же обратные вызовы какtheArray.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Ищет массив значение с помощью алгоритма двоичного поиска.
Объявление
Swift
func CFArrayBSearchValues(_theArray: CFArray!, _range: CFRange, _value: UnsafePointer<Void>, _comparator: CFComparatorFunction, _context: UnsafeMutablePointer<Void>) -> CFIndexObjective C
CFIndex CFArrayBSearchValues ( CFArrayRef theArray, CFRange range, const void *value, CFComparatorFunction comparator, void *context );Параметры
theArrayМассив, сортированный от наименьшего количества до самого большого согласно
comparatorфункция.rangeДиапазон в
theArrayискать. Диапазон не должен превышать границыtheArray. Диапазон может быть пустым (длина0).valueЗначение, для которого можно найти соответствие в
theArray. Еслиvalue, или любое другое значение вtheArray, не понят подcomparatorобратный вызов, поведение не определено.comparatorФункция с компаратором функционирует подпись типа, использующаяся в работе двоичного поиска для сравнения значений в
theArrayс данным значением. Если существуют значения в диапазоне чтоcomparatorфункция не ожидает или не может должным образом выдержать сравнение, поведение не определено.contextОпределенное с помощью программы значение размера указателя, передающееся как третий параметр
comparatorфункция, но иначе не использовано этой функцией. Если контекст не то, что ожидаетсяcomparatorфункция, поведение не определено.Возвращаемое значение
Возвращаемое значение является одним из следующего:
Индекс значения, соответствовавшего, если целевое значение соответствует один или больше в диапазоне.
Больше, чем или равный до конца точка диапазона, если значение больше, чем все значения в диапазоне.
Индекс значения, больше, чем целевое значение, если значение находится между двумя из (или меньше, чем весь из) значения в диапазоне.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Отчеты, является ли значение в массиве.
Объявление
Swift
func CFArrayContainsValue(_theArray: CFArray!, _range: CFRange, _value: UnsafePointer<Void>) -> BooleanObjective C
Boolean CFArrayContainsValue ( CFArrayRef theArray, CFRange range, const void *value );Параметры
theArrayМассив для поиска.
rangeДиапазон в
theArrayискать. Диапазон не должен превышать границыtheArray). Диапазон может быть пустым (длина0).valueЗначение для соответствия в
theArray. Равный обратный вызов обеспечил когдаtheArrayсоздавался используется для сравнения. Если равный обратный вызов былNULL, равенство указателя (в C, ==) используется. Еслиvalue, или любое другое значение вtheArray, не понят под равным обратным вызовом, поведение не определено.Возвращаемое значение
true, еслиvalueнаходится в указанном диапазонеtheArray, иначеfalse.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает число значений в настоящее время в массиве.
Объявление
Swift
func CFArrayGetCount(_theArray: CFArray!) -> CFIndexObjective C
CFIndex CFArrayGetCount ( CFArrayRef theArray );Параметры
theArrayМассив для исследования.
Возвращаемое значение
Число значений в
theArray.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Считает число раз, данное значение происходит в массиве.
Объявление
Swift
func CFArrayGetCountOfValue(_theArray: CFArray!, _range: CFRange, _value: UnsafePointer<Void>) -> CFIndexObjective C
CFIndex CFArrayGetCountOfValue ( CFArrayRef theArray, CFRange range, const void *value );Параметры
theArrayМассив для исследования.
rangeДиапазон в
theArrayискать. Диапазон должен лечь в границахtheArray). Диапазон может быть пустым (длина0).valueЗначение, для которого можно найти соответствия в
theArray. Равный обратный вызов обеспечил когдаtheArrayсоздавался используется для сравнения. Если равный обратный вызов былNULL, равенство указателя (в C,==) используется. Еслиvalue, или любое другое значение вtheArray, не понят под равным обратным вызовом, поведение не определено.Возвращаемое значение
Число раз
valueпроисходит вtheArray, в указанном диапазоне.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Ищет массив вперед значение.
Объявление
Swift
func CFArrayGetFirstIndexOfValue(_theArray: CFArray!, _range: CFRange, _value: UnsafePointer<Void>) -> CFIndexObjective C
CFIndex CFArrayGetFirstIndexOfValue ( CFArrayRef theArray, CFRange range, const void *value );Параметры
theArrayМассив для исследования.
rangeДиапазон в
theArrayискать. Диапазон должен лечь в границахtheArray. Диапазон может быть пустым (длина0). Поиск развивается от самого низкого индекса, определенного диапазоном к самому высокому.valueЗначение, для которого можно найти соответствие в
theArray. Равный обратный вызов обеспечил когдаtheArrayсоздавался используется для сравнения. Если равный обратный вызов былNULL, равенство указателя (в C, ==) используется. Еслиvalue, или любое другое значение вtheArray, не понят под равным обратным вызовом, поведение не определено.Возвращаемое значение
Самый низкий индекс совпадающих значений в диапазоне, или
-1если не соответствовало никакое значение в диапазоне.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Ищет массив назад значение.
Объявление
Swift
func CFArrayGetLastIndexOfValue(_theArray: CFArray!, _range: CFRange, _value: UnsafePointer<Void>) -> CFIndexObjective C
CFIndex CFArrayGetLastIndexOfValue ( CFArrayRef theArray, CFRange range, const void *value );Параметры
theArrayМассив для исследования.
rangeДиапазон в
theArrayискать. Диапазон не должен превышать границыtheArray. Диапазон может быть пустым (длина0). Поиск развивается от самого высокого индекса, определенного диапазоном к самому низкому.valueЗначение, для которого можно найти соответствие в
theArray. Равный обратный вызов обеспечил когдаtheArrayсоздавался используется для сравнения. Если равный обратный вызов былNULL, равенство указателя (в C, ==) используется. Если значение или любое другое значение вtheArray, не понят под равным обратным вызовом, поведение не определено.Возвращаемое значение
Самый высокий индекс совпадающих значений в диапазоне, или
-1если не соответствовало никакое значение в диапазоне.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Заполняет буфер значениями от массива.
Объявление
Swift
func CFArrayGetValues(_theArray: CFArray!, _range: CFRange, _values: UnsafeMutablePointer<UnsafePointer<Void>>)Objective C
void CFArrayGetValues ( CFArrayRef theArray, CFRange range, const void **values );Параметры
theArrayМассив для исследования.
rangeДиапазон значений в
theArrayполучать. Диапазон должен лечь в границахtheArray. Диапазон может быть пустым (длина0), когда никакие значения не помещаются в буферvalues.valuesМассив C значений размера указателя, чтобы быть заполненным значениями от
theArray. Значения в массиве C находятся в том же порядке, как они появляются вtheArray. Если это значение не является допустимым указателем на массив C, по крайней мере,range.lengthуказатели, поведение не определено. Если значения являются Базовыми объектами Основы, владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Получает значение в данном индексе.
Объявление
Swift
func CFArrayGetValueAtIndex(_theArray: CFArray!, _idx: CFIndex) -> UnsafePointer<Void>Objective C
const void * CFArrayGetValueAtIndex ( CFArrayRef theArray, CFIndex idx );Параметры
theArrayМассив для исследования.
idxИндекс значения для получения. Если индекс вне индексного пространства
theArray(0кN-1включительно (гдеNколичествоtheArray), поведение не определено.Возвращаемое значение
Значение в
idxиндекс вtheArray. Если возвращаемое значение является Базовым Объектом Основы, владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Вызывает функцию один раз для каждого элемента в диапазоне в массиве.
Объявление
Swift
func CFArrayApplyFunction(_theArray: CFArray!, _range: CFRange, _applier: CFArrayApplierFunction, _context: UnsafeMutablePointer<Void>)Objective C
void CFArrayApplyFunction ( CFArrayRef theArray, CFRange range, CFArrayApplierFunction applier, void *context );Параметры
theArrayМассив тот, к чей элементам для применения функции.
rangeДиапазон значений в
theArrayк которому можно применятьсяapplierфункция. Диапазон не должен превышать границыtheArray. Диапазон может быть пустым (длина0).applierФункция обратного вызова для вызова один раз для каждого значения в поданном диапазоне
theArray. Если существуют значения в диапазоне чтоapplierфункция не ожидает или не может должным образом примениться к, поведение не определено.contextОпределенное с помощью программы значение размера указателя, передающееся как второй параметр
applierфункция, но иначе не использовано этой функцией. Если контекст не то, что ожидается функцией applier, поведение не определено.Обсуждение
В то время как эта функция выполняет итерации по непостоянному набору, это небезопасно для
applierфункционируйте для изменения содержания набора.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает идентификатор типа для непрозрачного типа CFArray.
Объявление
Swift
func CFArrayGetTypeID() -> CFTypeIDObjective C
CFTypeID CFArrayGetTypeID ( void );Возвращаемое значение
Идентификатор типа для непрозрачного типа CFArray.
Специальные замечания
Объекты CFMutableArray имеют тот же идентификатор типа как объекты CFArray.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Прототип функции обратного вызова, которая может быть применена к каждому значению в массиве.
Объявление
Swift
typealias CFArrayApplierFunction = CFunctionPointer<((UnsafePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>Objective C
typedef void (*CFArrayApplierFunction) ( const void *value, void *context );Параметры
valueТекущая стоимость в массиве.
contextОпределенный с помощью программы параметр контекста, данный функции applier.
Обсуждение
Этот обратный вызов передается
CFArrayApplyFunctionфункция, выполняющая итерации по значениям в массиве и применяющая поведение, определенное в функции applier к каждому значению в массиве.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Прототип функции обратного вызова раньше получал описание значения в массиве.
Объявление
Swift
typealias CFArrayCopyDescriptionCallBack = CFunctionPointer<((UnsafePointer<Void>) -> Unmanaged<CFString>!)>Objective C
typedef CFStringRef (*CFArrayCopyDescriptionCallBack) ( const void *value );Параметры
valueЗначение, которое будет описано.
Возвращаемое значение
Текстовое описание
value. Вызывающая сторона ответственна за выпуск этого объекта.Обсуждение
Этот обратный вызов передается
CFArrayCreateв aCFArrayCallBacksструктура. Этот обратный вызов используетсяCFCopyDescriptionфункция.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Прототип функции обратного вызова раньше определял, равны ли два значения в массиве.
Объявление
Swift
typealias CFArrayEqualCallBack = CFunctionPointer<((UnsafePointer<Void>, UnsafePointer<Void>) -> Boolean)>Objective C
typedef Boolean (*CFArrayEqualCallBack) ( const void *value1, const void *value2 );Параметры
value1Значение в массиве, чтобы быть по сравнению с
value2для равенства.value2Значение в массиве, чтобы быть по сравнению с
value1для равенства.Возвращаемое значение
trueеслиvalue1иvalue2равны,falseиначе.Обсуждение
Этот обратный вызов передается
CFArrayCreateв aCFArrayCallBacksструктура.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Прототип функции обратного вызова раньше выпускал значение, прежде чем он будет удален из массива.
Объявление
Swift
typealias CFArrayReleaseCallBack = CFunctionPointer<((CFAllocator!, UnsafePointer<Void>) -> Void)>Objective C
typedef void (*CFArrayReleaseCallBack) ( CFAllocatorRef allocator, const void *value );Параметры
allocatorСредство выделения массива.
valueЗначение, удаляемое из массива.
Обсуждение
Этот обратный вызов передается
CFArrayCreateв aCFArrayCallBacksструктура.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Прототип функции обратного вызова раньше сохранял значение, добавляемое к массиву.
Объявление
Swift
typealias CFArrayRetainCallBack = CFunctionPointer<((CFAllocator!, UnsafePointer<Void>) -> UnsafePointer<Void>)>Objective C
typedef const void *(*CFArrayRetainCallBack) ( CFAllocatorRef allocator, const void *value );Параметры
allocatorСредство выделения массива.
valueЗначение, добавляемое к массиву.
Возвращаемое значение
Значение для хранения в массиве, который обычно является
valueесли различное значение должно быть сохранено в массиве, параметр передал этому обратному вызову, но может быть различным значением.Обсуждение
Этот обратный вызов передается
CFArrayCreateв aCFArrayCallBacksструктура.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Структура, содержащая обратные вызовы CFArray.
Объявление
Swift
struct CFArrayCallBacks { var version: CFIndex var retain: CFArrayRetainCallBack var release: CFArrayReleaseCallBack var copyDescription: CFArrayCopyDescriptionCallBack var equal: CFArrayEqualCallBack init() init(versionversion: CFIndex, retainretain: CFArrayRetainCallBack, releaserelease: CFArrayReleaseCallBack, copyDescriptioncopyDescription: CFArrayCopyDescriptionCallBack, equalequal: CFArrayEqualCallBack) }Objective C
struct CFArrayCallBacks { CFIndex version; CFArrayRetainCallBack retain; CFArrayReleaseCallBack release; CFArrayCopyDescriptionCallBack copyDescription; CFArrayEqualCallBack equal; }; typedef struct CFArrayCallBacks CFArrayCallBacks;Поля
versionНомер версии этой структуры. Если не одни из определенных номеров версий для этого непрозрачного типа, поведение не определено. Текущая версия этой структуры 0.
retainОбратный вызов раньше сохранял каждое значение, поскольку они добавляются к набору. Если
NULL, значения не сохраняются. ПосмотритеCFArrayRetainCallBackдля описания этого обратного вызова.releaseОбратный вызов раньше выпускал значения, когда они удалены из набора. Если
NULL, значения не выпущены. ПосмотритеCFArrayReleaseCallBackдля описания этого обратного вызова.copyDescriptionОбратный вызов раньше создавал представление описательной строки каждого значения в наборе. Если
NULL, набор создаст простое описание каждого значения. ПосмотритеCFArrayCopyDescriptionCallBackдля описания этого обратного вызова.equalОбратный вызов раньше сравнивал значения в массиве для равенства для некоторых операций. Если
NULL, набор будет использовать равенство указателя для сравнения значений в наборе. ПосмотритеCFArrayEqualCallBackдля описания этого обратного вызова.Доступность
Доступный в iOS 2.0 и позже.
-
Ссылка на неизменный объект массива.
Объявление
Swift
typealias CFArrayRef = CFArrayObjective C
typedef const struct __CFArray *CFArrayRef;Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Когда значениями в CFArray являются все CFType-производные-объекты, CFArray обеспечивает предопределенную структуру обратного вызова, подходящую для использования.
Объявление
Swift
let kCFTypeArrayCallBacks: CFArrayCallBacksObjective C
const CFArrayCallBacks kCFTypeArrayCallBacks;Константы
-
kCFTypeArrayCallBacksПредопределенный
CFArrayCallBacksструктура, содержащая ряд обратных вызовов, подходящих для использования, когда значениями в CFArray являются все CFType-производные-объекты. Сохранить обратный вызовCFRetain, обратный вызов выпускаCFRelease, обратный вызов копииCFCopyDescription, и равный обратный вызовCFEqual. Поэтому при использовании этой константы при создании набора элементы автоматически сохраняются, когда добавлено к набору и выпустили, когда удалено из набора.Доступный в iOS 2.0 и позже.
-
