Ссылка CFMutableArray
CFMutableArray управляет динамическими массивами. Основной интерфейс для управления массивами предоставлен Ссылкой CFArray. CFMutableArray добавляет функции для изменения содержания массива.
Вы создаете непостоянный объект массива, использующий любого CFArrayCreateMutable
или CFArrayCreateMutableCopy
функция.
CFMutableArray обеспечивает несколько функций для изменения содержания массива, например CFArrayAppendValue
и CFArrayInsertValueAtIndex
добавленные стоимости функций к массиву и CFArrayRemoveValueAtIndex
удаляет значения из массива. Можно также переупорядочить содержание использования массива CFArrayExchangeValuesAtIndices
и CFArraySortValues
.
CFMutableArray “бесплатный соединенный мостом” с его дубликатом Основы Какао, NSMutableArray
. Это означает, что Базовый тип Основы является взаимозаменяемым в вызовах функции или вызовах метода с соединенным мостом объектом Основы. Поэтому в методе, где Вы видите NSMutableArray *
параметр, можно передать в a CFMutableArrayRef
, и в функции, где Вы видите a CFMutableArrayRef
параметр, можно передать в экземпляре NSMutableArray. Этот факт также применяется к конкретным подклассам NSMutableArray. Посмотрите Бесплатные Соединенные мостом Типы для получения дополнительной информации о бесплатном образовании моста.
-
Добавляют значения от одного массива до другого массива.
Объявление
Swift
func CFArrayAppendArray(_
theArray
: CFMutableArray!, _otherArray
: CFArray!, _otherRange
: CFRange)Objective C
void CFArrayAppendArray ( CFMutableArrayRef theArray, CFArrayRef otherArray, CFRange otherRange );
Параметры
theArray
Массив тот, к который значения от
otherArray
добавляются. ЕслиtheArray
массив ограниченной вместимости, добавляяotherRange.length
значения отotherArray
не должен вызывать полный пределtheArray
быть превышенным.otherArray
Массив, обеспечивающий значения, которые будут добавлены к
theArray
.otherRange
Диапазон в
otherArray
от которого можно добавить значения кtheArray
. Диапазон не должен превышать индексное пространствоotherArray
.Обсуждение
Новые значения сохраняются
theArray
использование сохранить обратный вызов обеспечило когдаtheArray
создавался. Если значения не имеют типа, ожидаемого сохранить обратным вызовом, поведение не определено. Значения присваиваются индексам одно большее, чем предыдущий самый большой индекс вtheArray
, и вне, и количествоtheArray
увеличенotherRange.length
. Значения присваиваются новые индексы вtheArray
от самого маленького до самого большого индекса в порядке, в котором они появляются вotherArray
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Добавляет значение к массиву, дающему его новый самый большой индекс.
Объявление
Swift
func CFArrayAppendValue(_
theArray
: CFMutableArray!, _value
: UnsafePointer<Void>)Objective C
void CFArrayAppendValue ( CFMutableArrayRef theArray, const void *value );
Параметры
theArray
Массив тот, к который
value
должен быть добавлен. ЕслиtheArray
массив ограниченной вместимости, и это полно, прежде чем эта работа, поведение будет не определено.value
CFType возражает или значение указателя для добавления к
theArray
.Обсуждение
value
параметр сохраняетсяtheArray
использование сохранить обратный вызов обеспечило когдаtheArray
создавался. Еслиvalue
не имеет типа, ожидаемого сохранить обратным вызовом, поведение не определено.value
параметр присваивается индексу одно большее, чем предыдущий самый большой индекс и количествоtheArray
увеличен одним.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Создает новый пустой непостоянный массив.
Объявление
Swift
func CFArrayCreateMutable(_
allocator
: CFAllocator!, _capacity
: CFIndex, _callBacks
: UnsafePointer<CFArrayCallBacks>) -> CFMutableArray!Objective C
CFMutableArrayRef CFArrayCreateMutable ( CFAllocatorRef allocator, CFIndex capacity, const CFArrayCallBacks *callBacks );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового массива и его хранения для значений. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.capacity
Максимальное количество значений, которые могут содержаться новым массивом. Массив запускается пустой и может расти до этого числа значений (и это может иметь меньше).
Передача
0
указать, что не ограничивается максимальная способность. Значение не должно быть отрицательным.callBacks
Указатель на a
CFArrayCallBacks
структура, инициализированная с обратными вызовами для массива для использования на каждом значении в массиве. Копия содержания структуры обратных вызовов сделана, так, чтобы указатель на структуру на штабеле мог быть передан в или мог быть снова использован для многократных созданий массива.Если массив содержит объекты CFType только, то передайте
kCFTypeArrayCallBacks
использовать функции обратного вызова по умолчанию.Этот параметр может быть
NULL
, который обрабатывается как будто допустимая структура версии0
со всеми полямиNULL
был передан в.Если какое-либо из полей не является допустимыми указателями на функции корректного типа, или этот параметр не является допустимым указателем на a
CFArrayCallBacks
структура, поведение не определено. Если какое-либо значение, помещенное в массив, не является тем, понятым под одной из функций обратного вызова, поведение, когда та функция обратного вызова используется, не определено.Возвращаемое значение
Новый непостоянный массив, или
NULL
если была проблема, создающая объект. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Создает новый непостоянный массив со значениями от другого массива.
Объявление
Swift
func CFArrayCreateMutableCopy(_
allocator
: CFAllocator!, _capacity
: CFIndex, _theArray
: CFArray!) -> CFMutableArray!Objective C
CFMutableArrayRef CFArrayCreateMutableCopy ( CFAllocatorRef allocator, CFIndex capacity, CFArrayRef theArray );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового массива и его хранения для значений. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.capacity
Максимальное количество значений, которые могут содержаться новым массивом. Массив запускается с того же числа значений как
theArray
и может расти до этого числа значений (и оно может иметь меньше).Передача
0
указать, что не ограничивается максимальная способность. Если не -0
,capacity
должно быть больше, чем или равным количествуtheArray
.theArray
Массив для копирования. Значения указателя от массива копируются в новый массив. Однако значения также сохраняются новым массивом.
Возвращаемое значение
Новый непостоянный массив, содержащий те же значения как
theArray
. Новый массив имеет то же количество какtheArray
и использует те же обратные вызовы. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Обменивается значениями в двух индексах массива.
Объявление
Swift
func CFArrayExchangeValuesAtIndices(_
theArray
: CFMutableArray!, _idx1
: CFIndex, _idx2
: CFIndex)Objective C
void CFArrayExchangeValuesAtIndices ( CFMutableArrayRef theArray, CFIndex idx1, CFIndex idx2 );
Параметры
theArray
Массив, содержащий значения, которые будут подкачаны.
idx1
Индекс значения для свопинга со значением в
idx2
. Индекс не должен превышать индексное пространствоtheArray
(0
кN-1
включительно, гдеN
количествоtheArray
перед работой).idx2
Индекс значения для свопинга со значением в
idx1
. Индекс не должен превышать индексное пространствоtheArray
(0
кN-1
включительно, гдеN
количествоtheArray
перед работой).Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Вставляет значение в массив в данном индексе.
Объявление
Swift
func CFArrayInsertValueAtIndex(_
theArray
: CFMutableArray!, _idx
: CFIndex, _value
: UnsafePointer<Void>)Objective C
void CFArrayInsertValueAtIndex ( CFMutableArrayRef theArray, CFIndex idx, const void *value );
Параметры
theArray
Массив тот, в который
value
вставляется. ЕслиtheArray
массив фиксированной способности, и это полно, прежде чем эта работа, поведение будет не определено.idx
Индекс, в котором можно вставить
value
. Индекс должен быть в диапазоне0
кN
включительно, гдеN
количествоtheArray
перед работой. Если индекс совпадает с количествомtheArray
, эта функция имеет тот же эффект какCFArrayAppendValue
.value
Значение для вставки в
theArray
. Значение сохраняетсяtheArray
использование сохранить обратный вызов обеспечило когдаtheArray
создавался. Еслиvalue
не имеет типа, ожидаемого сохранить обратным вызовом, поведение не определено.Обсуждение
value
параметр присваивается индексуidx
, и все значения вtheArray
с равными и большими индексами увеличили их индексы одним.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет все значения из массива, делая его пустым.
Объявление
Swift
func CFArrayRemoveAllValues(_
theArray
: CFMutableArray!)Objective C
void CFArrayRemoveAllValues ( CFMutableArrayRef theArray );
Параметры
theArray
Массив, из которого удалены все значения.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет значение в данном индексе от массива.
Объявление
Swift
func CFArrayRemoveValueAtIndex(_
theArray
: CFMutableArray!, _idx
: CFIndex)Objective C
void CFArrayRemoveValueAtIndex ( CFMutableArrayRef theArray, CFIndex idx );
Параметры
theArray
Массив, из которого должно быть удалено значение.
idx
Индекс значения для удаления. Значение не лежит вне индексного пространства
theArray
(0
кN-1
включительно, гдеN
количествоtheArray
перед работой).Обсуждение
Все значения в
theArray
с индексами, больше, чемidx
уменьши их индексы один.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Заменяет диапазон значений в массиве.
Объявление
Swift
func CFArrayReplaceValues(_
theArray
: CFMutableArray!, _range
: CFRange, _newValues
: UnsafeMutablePointer<UnsafePointer<Void>>, _newCount
: CFIndex)Objective C
void CFArrayReplaceValues ( CFMutableArrayRef theArray, CFRange range, const void **newValues, CFIndex newCount );
Параметры
theArray
Массив, в котором должны быть заменены некоторые значения. Если этот параметр не является допустимым объектом CFMutableArray, поведение не определено.
range
Диапазон значений в
theArray
заменять. Расположение диапазона или конечная точка (определенный расположением плюс длина минус 1) не должны лежать вне индексного пространстваtheArray
(0
кN-1
включительно, гдеN
количествоtheArray
). Длина диапазона не должна быть отрицательной. Диапазон может быть пустым (длина 0), когда новые значения просто вставляются в расположении диапазона.newValues
Массив C значений размера указателя, которые будут помещены в
theArray
. Новые значения вtheArray
упорядочиваются в том же порядке, в котором они появляются в этом массиве C. Этот параметр может бытьNULL
еслиnewCount
параметр 0. Этот массив C не изменен или освобожден этой функцией. Если этот параметр не является допустимым указателем на массив C, по крайней мере,newCount
указатели, поведение не определено.newCount
Число значений для копирования с
newValues
C выстраивают вtheArray
. Если этот параметр отличается от длины диапазона, избыткаnewCount
значения вставляются после того, как диапазон или избыточные значения диапазона удалены. Этот параметр может быть 0, когда никакие новые значения не заменяются вtheArray
и значения в диапазоне просто удалены. Если этот параметр отрицателен или больше, чем число значений фактически вnewValues
C массив, поведение не определено.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Изменяет значение в данном индексе в массиве.
Объявление
Swift
func CFArraySetValueAtIndex(_
theArray
: CFMutableArray!, _idx
: CFIndex, _value
: UnsafePointer<Void>)Objective C
void CFArraySetValueAtIndex ( CFMutableArrayRef theArray, CFIndex idx, const void *value );
Параметры
theArray
Массив, в котором должно быть изменено значение.
idx
Индекс, в котором можно установить новое значение. Значение не должно лежать вне индексного пространства
theArray
(0
кN-1
включительно, гдеN
количество массива перед работой).value
Значение для начинаний
theArray
. Значение сохраняетсяtheArray
использование сохранить обратный вызов обеспечило когдаtheArray
создавался и предыдущее значение вidx
выпущен. Если значение не имеет типа, ожидаемого сохранить обратным вызовом, поведение не определено. Индексы других значений не затронуты.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Сортирует значения в массиве с помощью данной функции сравнения.
Объявление
Swift
func CFArraySortValues(_
theArray
: CFMutableArray!, _range
: CFRange, _comparator
: CFComparatorFunction, _context
: UnsafeMutablePointer<Void>)Objective C
void CFArraySortValues ( CFMutableArrayRef theArray, CFRange range, CFComparatorFunction comparator, void *context );
Параметры
theArray
Массив, значения которого сортируются.
range
Диапазон значений в
theArray
к виду. Расположение диапазона или конечная точка (определенный расположением плюс длина минус 1) не должны лежать вне индексного пространстваtheArray
(0
кN-1
включительно, гдеN
количествоtheArray
). Длина диапазона не должна быть отрицательной. Диапазон может быть пустым (длина 0).comparator
Функция с компаратором функционирует подпись типа, использующаяся в работе вида для сравнения значений в
theArray
. Если этот параметр не является указателем на функцию корректного прототипа, поведение не определено. Если существуют значения вtheArray
то, чтоcomparator
функция не ожидает или не может должным образом выдержать сравнение, поведение не определено. Значения в диапазоне сортируются от наименьшего количества до самого большого согласно этой функции.context
Определенное с помощью программы значение размера указателя, передающееся как третий параметр
comparator
функция, но иначе не использовано этой функцией. Если контекст не то, что ожидаетсяcomparator
функция, поведение не определено.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Ссылка на непостоянный объект массива.
Объявление
Swift
typealias CFMutableArrayRef = CFMutableArray
Objective C
typedef struct __CFArray *CFMutableArrayRef;
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.