Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы CoreFoundation ссылка CFData

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка CFData

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

    Доступность

    Доступный в OS X v10.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

    Доступность

    Доступный в OS X v10.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 если была проблема, создающая объект. На a NULL возвратитесь, bytes буфер оставляют неповрежденным. Владение соблюдает Создать Правило.

    Обсуждение

    Эта функция создает неизменный объект CFData из буфера неструктурированных байтов. Если ситуация не гарантирует иначе, созданный объект не копирует внешний буфер во внутреннюю память, но вместо этого использует буфер в качестве его запоминающего устройства. Однако Вы никогда не должны рассчитывать на объект с помощью внешнего буфера, так как это могло скопировать буфер во внутреннюю память или могло бы даже вывести буфер в целом и использовать альтернативные средние значения для хранения байтов.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.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

    Доступность

    Доступный в OS X v10.0 и позже.

  • Копирует содержание байта объекта CFData к внешнему буферу.

    Объявление

    Swift

    func CFDataGetBytes(_ theData: CFData!, _ range: CFRange, _ buffer: UnsafeMutablePointer<UInt8>)

    Objective C

    void CFDataGetBytes ( CFDataRef theData, CFRange range, UInt8 *buffer );

    Параметры

    theData

    CFData возражают для исследования.

    range

    Диапазон байтов в theData добираться. Получить все содержание, передачу CFRangeMake(0,CFDataGetLength(theData)).

    buffer

    Указатель на буфер байта длины range.length это выделяется на штабеле или «куче». По возврату буфер содержит требуемый диапазон байтов.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает число байтов, содержавших объектом CFData.

    Объявление

    Swift

    func CFDataGetLength(_ theData: CFData!) -> CFIndex

    Objective C

    CFIndex CFDataGetLength ( CFDataRef theData );

    Параметры

    theData

    CFData возражают для исследования.

    Возвращаемое значение

    Индекс, указывающий число байтов в theData.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Находит и возвращает диапазон в объекте данных первого возникновения определенных данных, в данном диапазоне согласно любым данным опциям.

    Объявление

    Swift

    func CFDataFind(_ theData: CFData!, _ dataToFind: CFData!, _ searchRange: CFRange, _ compareOptions: CFDataSearchFlags) -> CFRange

    Objective 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

    Доступность

    Доступный в OS X v10.6 и позже.

  • Возвращает идентификатор типа для непрозрачного типа CFData.

    Объявление

    Swift

    func CFDataGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CFDataGetTypeID ( void );

    Возвращаемое значение

    Идентификатор типа для непрозрачного типа CFData.

    Обсуждение

    Объекты CFMutableData имеют тот же идентификатор типа как объекты CFData.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

Типы данных

Прочие условия

  • Ссылка на неизменный объект CFData.

    Объявление

    Swift

    typealias CFDataRef = CFData

    Objective C

    typedef const struct __CFData *CFDataRef;

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • A CFOptionFlags введите для указания опций для поиска.

    Объявление

    Swift

    struct CFDataSearchFlags : RawOptionSetType { init(_ rawValue: CFOptionFlags) init(rawValue rawValue: 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

      Выполняет поиск от конца диапазона к началу.

      Доступный в OS X v10.6 и позже.

    • Anchored

      kCFDataSearchAnchored

      Выполняет поиск только на байтах вначале или, если kCFDataSearchBackwards также указан, в конце поискового диапазона. Никакое соответствие вначале или конец не означают, что ничто не найдено, даже если соответствующая последовательность байтов происходит в другом месте в объекте данных.

      Доступный в OS X v10.6 и позже.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.