Ссылка CFData
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreFoundation
Objective C
@import CoreFoundation;
CFData и его полученный непостоянный тип, Ссылка CFMutableData, предоставляют поддержку для объектов данных, объектно-ориентированные обертки для буферов байта. Объекты данных позволяют простым выделенным буферам (т.е. данные без встроенных указателей) берут поведение Базовых объектов Основы. CFData создает статические объекты данных, и CFMutableData создает объекты динамических данных. Объекты данных обычно используются для хранения необработанных данных.
Вы используете CFDataCreate
и CFDataCreateCopy
функции для создания статических объектов данных. Эти функции делают новую копию данных, которыми снабжают. Для создания объекта данных, использующего предоставленный буфер вместо того, чтобы делать отдельную копию используйте CFDataCreateWithBytesNoCopy
функция. Вы используете CFDataGetBytes
функция для получения байтов и CFDataGetLength
функция для получения длины байтов.
CFData “бесплатный соединенный мостом” с его дубликатом Основы Какао, NSData
. То, что это означает, - то, что Базовый тип Основы является взаимозаменяемым в вызовах функции или вызовах метода с соединенным мостом объектом Основы. Другими словами, в методе, где Вы видите NSData *
параметр, можно передать в a CFDataRef
, и в функции, где Вы видите a CFDataRef
параметр, можно передать в NSData
экземпляр. Это также применяется к конкретным подклассам NSData
. Посмотрите Бесплатные Соединенные мостом Типы для получения дополнительной информации о бесплатном образовании моста.
-
Создает неизменный объект CFData использование данных, скопированных с указанного буфера байта.
Объявление
Swift
func CFDataCreate(_
allocator
: CFAllocator!, _bytes
: UnsafePointer<UInt8>, _length
: CFIndex) -> CFData!Objective C
CFDataRef CFDataCreate ( CFAllocatorRef allocator, const UInt8 *bytes, CFIndex length );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.bytes
Указатель на буфер байта, содержащий необработанные данные, которые будут скопированы в
theData
.length
Число байтов в буфере (
bytes
).Возвращаемое значение
Новый объект CFData, или
NULL
если была проблема, создающая объект. Владение соблюдает Создать Правило.Обсуждение
Необходимо предоставить количество байтов в буфере. Эта функция всегда копирует байты в предоставленном буфере во внутреннюю память.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 2.0 и позже.
-
Создает неизменную копию объекта CFData.
Объявление
Swift
func CFDataCreateCopy(_
allocator
: CFAllocator!, _theData
: CFData!) -> CFData!Objective C
CFDataRef CFDataCreateCopy ( CFAllocatorRef allocator, CFDataRef theData );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.theData
CFData возражают для копирования.
Возвращаемое значение
Неизменная копия
theData
, илиNULL
если была проблема, создающая объект. Владение соблюдает Создать Правило.Обсуждение
Полученный объект имеет то же содержание байта как исходный объект, но это является всегда неизменным. Если указанное средство выделения и средство выделения исходного объекта являются тем же, и строка является уже неизменной, эта функция может просто постепенно увеличить сохранить количество, не делая заверенную копию. К вызывающей стороне, однако, полученный объект является истинной неизменной копией, кроме работы было более эффективным.
Используйте эту функцию, когда необходимо будет передать объект CFData в другую функцию значением (не ссылка).
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 2.0 и позже.
-
Создает неизменный объект CFData из внешнего (клиентского) буфера байта.
Объявление
Swift
func CFDataCreateWithBytesNoCopy(_
allocator
: CFAllocator!, _bytes
: UnsafePointer<UInt8>, _length
: CFIndex, _bytesDeallocator
: CFAllocator!) -> CFData!Objective C
CFDataRef CFDataCreateWithBytesNoCopy ( CFAllocatorRef allocator, const UInt8 *bytes, CFIndex length, CFAllocatorRef bytesDeallocator );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.bytes
Указатель на байт буферизует, чтобы использоваться в качестве запоминающего устройства объекта CFData.
length
Число байтов в буфере
bytes
.bytesDeallocator
Средство выделения для использования для освобождения внешнего буфера, когда освобожден объект CFData. Если средство выделения по умолчанию подходит с этой целью, передача
NULL
илиkCFAllocatorDefault
. Если Вы не хотите создаваемый объект CFData освободить буфер (т.е. Вы принимаете на себя ответственность за освобождение его сами), передачаkCFAllocatorNull
.Возвращаемое значение
Новый объект CFData, или
NULL
если была проблема, создающая объект. На aNULL
возвратитесь,bytes
буфер оставляют неповрежденным. Владение соблюдает Создать Правило.Обсуждение
Эта функция создает неизменный объект CFData из буфера неструктурированных байтов. Если ситуация не гарантирует иначе, созданный объект не копирует внешний буфер во внутреннюю память, но вместо этого использует буфер в качестве его запоминающего устройства. Однако Вы никогда не должны рассчитывать на объект с помощью внешнего буфера, так как это могло скопировать буфер во внутреннюю память или могло бы даже вывести буфер в целом и использовать альтернативные средние значения для хранения байтов.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает указатель только для чтения на байты объекта CFData.
Объявление
Swift
func CFDataGetBytePtr(_
theData
: CFData!) -> UnsafePointer<UInt8>Objective C
const UInt8 * CFDataGetBytePtr ( CFDataRef theData );
Параметры
theData
CFData возражают для исследования.
Возвращаемое значение
Указатель только для чтения на байты связался с
theData
.Обсуждение
Эта функция, как гарантируют, возвратит указатель на внутренние байты объекта CFData. CFData, в отличие от CFString, не скрывает свою внутреннюю память.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 2.0 и позже.
-
Копирует содержание байта объекта CFData к внешнему буферу.
Объявление
Swift
func CFDataGetBytes(_
theData
: CFData!, _range
: CFRange, _buffer
: UnsafeMutablePointer<UInt8>)Параметры
theData
CFData возражают для исследования.
range
Диапазон байтов в
theData
добираться. Получить все содержание, передачуCFRangeMake(0,CFDataGetLength(theData))
.buffer
Указатель на буфер байта длины
range.length
это выделяется на штабеле или «куче». По возврату буфер содержит требуемый диапазон байтов.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает число байтов, содержавших объектом CFData.
Объявление
Swift
func CFDataGetLength(_
theData
: CFData!) -> CFIndexПараметры
theData
CFData возражают для исследования.
Возвращаемое значение
Индекс, указывающий число байтов в
theData
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 2.0 и позже.
-
Находит и возвращает диапазон в объекте данных первого возникновения определенных данных, в данном диапазоне согласно любым данным опциям.
Объявление
Swift
func CFDataFind(_
theData
: CFData!, _dataToFind
: CFData!, _searchRange
: CFRange, _compareOptions
: CFDataSearchFlags) -> CFRangeObjective C
CFRange CFDataFind ( CFDataRef theData, CFDataRef dataToFind, CFRange searchRange, CFDataSearchFlags compareOptions );
Параметры
theData
Объект данных, в котором можно искать.
dataToFind
Данные для нахождения. Не должен быть
NULL
.searchRange
Диапазон в
theData
искаться.compareOptions
Немного маски, указывающей параметры поиска.
CFDataSearchFlags
опции могут быть указаны отдельно или объединены с C поразрядноOR
операторВозвращаемое значение
Диапазон, представляющий расположение и длину
dataToFind
вsearchRange
, по модулю опции вcompareOptions
. Диапазон возвратился, относительно запуска искавших данных, не переданного - в поисковом диапазоне. Возвраты{
kCFNotFound
, 0}
еслиdataToFind
не найден.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает идентификатор типа для непрозрачного типа CFData.
Возвращаемое значение
Идентификатор типа для непрозрачного типа CFData.
Обсуждение
Объекты CFMutableData имеют тот же идентификатор типа как объекты CFData.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 2.0 и позже.
-
Ссылка на неизменный объект CFData.
Объявление
Swift
typealias CFDataRef = CFData
Objective C
typedef const struct __CFData *CFDataRef;
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 2.0 и позже.
-
A
CFOptionFlags
введите для указания опций для поиска.Объявление
Swift
struct CFDataSearchFlags : RawOptionSetType { init(_
rawValue
: CFOptionFlags) init(rawValuerawValue
: CFOptionFlags) static var Backwards: CFDataSearchFlags { get } static var Anchored: CFDataSearchFlags { get } }Objective C
typedef enum : CFOptionFlags { kCFDataSearchBackwards = 1UL << 0, kCFDataSearchAnchored = 1UL << 1 } CFDataSearchFlags;
Константы
-
Backwards
kCFDataSearchBackwards
Выполняет поиск от конца диапазона к началу.
Доступный в iOS 4.0 и позже.
-
Anchored
kCFDataSearchAnchored
Выполняет поиск только на байтах вначале или, если
kCFDataSearchBackwards
также указан, в конце поискового диапазона. Никакое соответствие вначале или конец не означают, что ничто не найдено, даже если соответствующая последовательность байтов происходит в другом месте в объекте данных.Доступный в iOS 4.0 и позже.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в iOS 4.0 и позже.
-