Ссылка CFWriteStream
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreFoundation
Objective C
@import CoreFoundation;
CFWriteStream обеспечивает интерфейс для записи потока байтов или синхронно или асинхронно. Можно создать потоки, пишущие байты в блок памяти, файла или универсального сокета. Все потоки должны быть открыты, с помощью CFWriteStreamOpen, перед записью.
Используйте CFReadStream для чтения потоков байтов, и для функций, такой как CFStreamCreatePairWithSocketToHost, это создает потоки сокета).
CFWriteStream “бесплатный соединенный мостом” с его дубликатом Основы Какао, NSOutputStream. Это означает, что Базовый тип Основы является взаимозаменяемым в вызовах функции или вызовах метода с соединенным мостом объектом Основы. Поэтому в методе, где Вы видите NSOutputStream * параметр, можно передать в a CFWriteStreamRef, и в функции, где Вы видите a CFWriteStreamRef параметр, можно передать в NSOutputStream экземпляр. Отметьте, однако, что у Вас могут быть или делегат или обратные вызовы, но не оба. Посмотрите Бесплатные Соединенные мостом Типы для получения дополнительной информации о бесплатном образовании моста.
-
Создает перезаписываемый поток для growable блока памяти.
Объявление
Swift
func CFWriteStreamCreateWithAllocatedBuffers(_alloc: CFAllocator!, _bufferAllocator: CFAllocator!) -> CFWriteStream!Objective C
CFWriteStreamRef CFWriteStreamCreateWithAllocatedBuffers ( CFAllocatorRef alloc, CFAllocatorRef bufferAllocator );Параметры
allocСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.bufferAllocatorСредство выделения для использования для выделения памяти для буферов памяти потока. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.Возвращаемое значение
Новый поток записи. Владение соблюдает Создать Правило.
Обсуждение
Новые буферы выделяются с помощью
bufferAllocatorпоскольку байты записаны в поток. В любой точке можно восстановить байты, к настоящему времени записанные путем выяснения свойствоkCFStreamPropertyDataWrittenсCFWriteStreamCopyProperty.Необходимо открыть поток, с помощью CFWriteStreamOpen, прежде, чем записать в него.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Создает перезаписываемый поток для блока фиксированного размера памяти.
Объявление
Swift
func CFWriteStreamCreateWithBuffer(_alloc: CFAllocator!, _buffer: UnsafeMutablePointer<UInt8>, _bufferCapacity: CFIndex) -> CFWriteStream!Objective C
CFWriteStreamRef CFWriteStreamCreateWithBuffer ( CFAllocatorRef alloc, UInt8 *buffer, CFIndex bufferCapacity );Параметры
allocСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.bufferБуфер памяти, в который можно записать данные. Этот буфер должен существовать для времени жизни потока.
bufferCapacityРазмер
bufferи максимальное количество байтов, которые могут быть записаны.Возвращаемое значение
Новый поток записи, или
NULLпри отказе. Владение соблюдает Создать Правило.Обсуждение
Когда
bufferзаполнено после записиbufferCapacityбайты, поток исчерпывается, и его состояние становитсяkCFStreamStatusAtEnd.Необходимо открыть поток, с помощью CFWriteStreamOpen, прежде, чем записать в него.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Создает перезаписываемый поток для файла.
Объявление
Swift
func CFWriteStreamCreateWithFile(_alloc: CFAllocator!, _fileURL: CFURL!) -> CFWriteStream!Objective C
CFWriteStreamRef CFWriteStreamCreateWithFile ( CFAllocatorRef alloc, CFURLRef fileURL );Параметры
allocСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.fileURLURL файла, в который можно записать. URL должен использовать схему файла.
Возвращаемое значение
Новый поток записи, или
NULLпри отказе. Владение соблюдает Создать Правило.Обсуждение
Поток перезаписывает существующий файл, если Вы не устанавливаете
kCFStreamPropertyAppendToFileкkCFBooleanTrueсCFWriteStreamSetProperty, когда поток добавляет данные к файлу.Необходимо открыть поток, с помощью CFWriteStreamOpen, прежде, чем записать в него.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Закрывает перезаписываемый поток.
Объявление
Swift
func CFWriteStreamClose(_stream: CFWriteStream!)Objective C
void CFWriteStreamClose ( CFWriteStreamRef stream );Параметры
streamПоток для закрытия.
Обсуждение
Эта функция завершает поток байтов и выпускает любые системные ресурсы, требуемые потоком. Поток удален из любых циклов выполнения, в которых он был запланирован. После того, как закрытый, поток не может быть вновь открыт.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Открывает поток для записи.
Объявление
Swift
func CFWriteStreamOpen(_stream: CFWriteStream!) -> BooleanObjective C
Boolean CFWriteStreamOpen ( CFWriteStreamRef stream );Параметры
streamПоток для открытия.
Возвращаемое значение
trueеслиstreamбыл успешно открыт,falseиначе. Еслиstreamне находится вkCFStreamStatusNotOpenсостояние, эта функция возвратыfalse.Обсуждение
Открытие потока заставляет его резервировать все системные ресурсы, которых требуется. Если поток может открыться в фоновом режиме без блокирования, эта функция всегда возвращается
true. Для изучения, когда фоновая операция открытия завершается можно или запланировать поток в цикл выполнения сCFWriteStreamScheduleWithRunLoopи ожидайте клиента потока (набор сCFWriteStreamSetClient) чтобы быть уведомленными или можно опросить потоковое использованиеCFWriteStreamGetStatus, ожидание состоянияkCFStreamStatusOpenилиkCFStreamStatusError.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Данные записей к перезаписываемому потоку.
Объявление
Swift
func CFWriteStreamWrite(_stream: CFWriteStream!, _buffer: UnsafePointer<UInt8>, _bufferLength: CFIndex) -> CFIndexObjective C
CFIndex CFWriteStreamWrite ( CFWriteStreamRef stream, const UInt8 *buffer, CFIndex bufferLength );Параметры
streamПоток, в который можно записать.
bufferБуфер, содержащий данные для записи.
bufferLengthЧисло байтов от
bufferзаписать.Возвращаемое значение
Число байтов, успешно записанных,
0если поток был наполнен до отказа (для потоков фиксированной длины), или-1если или поток не открыт или ошибка, происходит.Обсуждение
Если
streamнаходится в процессе открытия, эта функция ожидает, пока это не завершилось. Если поток не полон, этот вызов блоки, пока не записан по крайней мере один байт; это не блокирует до всех байтов вbufferзаписан. Чтобы избежать блокировать, вызовите эту функцию только еслиCFWriteStreamCanAcceptBytesвозвратыtrueили после клиента потока (набор сCFWriteStreamSetClient) уведомляется относительно akCFStreamEventCanAcceptBytesсобытие.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Планирует поток в цикл выполнения.
Объявление
Swift
func CFWriteStreamScheduleWithRunLoop(_stream: CFWriteStream!, _runLoop: CFRunLoop!, _runLoopMode: CFString!)Objective C
void CFWriteStreamScheduleWithRunLoop ( CFWriteStreamRef stream, CFRunLoopRef runLoop, CFStringRef runLoopMode );Параметры
streamПоток для планирования.
runLoopЦикл выполнения, в котором можно запланировать
stream.runLoopModeРежим цикла выполнения
runLoopв котором можно запланироватьstream.Обсуждение
После планирования
streamв цикл выполнения, его клиент (набор сCFWriteStreamSetClient) уведомляется, когда различные события происходят с потоком, такой как тогда, когда он заканчивает открываться, когда он может принять новые байты, и когда происходит ошибка. Поток может быть запланирован в многократные циклы выполнения и выполненные режимы цикла. ИспользоватьCFWriteStreamUnscheduleFromRunLoopпозже удалитьstreamот цикла выполнения.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Удаляет поток из определенного цикла выполнения.
Объявление
Swift
func CFWriteStreamUnscheduleFromRunLoop(_stream: CFWriteStream!, _runLoop: CFRunLoop!, _runLoopMode: CFString!)Objective C
void CFWriteStreamUnscheduleFromRunLoop ( CFWriteStreamRef stream, CFRunLoopRef runLoop, CFStringRef runLoopMode );Параметры
streamПоток для удаления.
runLoopЦикл выполнения, из которого можно удалить
stream.runLoopModeРежим цикла выполнения
runLoopиз которого можно удалитьstream.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвраты, может ли перезаписываемый поток принять новые данные без блокирования.
Объявление
Swift
func CFWriteStreamCanAcceptBytes(_stream: CFWriteStream!) -> BooleanObjective C
Boolean CFWriteStreamCanAcceptBytes ( CFWriteStreamRef stream );Параметры
streamПоток для исследования.
Возвращаемое значение
trueесли данные могут быть записаны вstreamбез блокирования,falseиначе. Еслиstreamне может сказать, могут ли данные быть записаны, фактически не пытаясь записать данные, эта функция возвратыtrue.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает значение свойства для потока.
Объявление
Swift
func CFWriteStreamCopyProperty(_stream: CFWriteStream!, _propertyName: CFString!) -> AnyObject!Objective C
CFTypeRef CFWriteStreamCopyProperty ( CFWriteStreamRef stream, CFStringRef propertyName );Параметры
streamПоток для исследования.
propertyNameИмя потокового свойства для получения. Доступные свойства для стандартных Базовых потоков Основы перечислены в Потоковых Свойствах.
Возвращаемое значение
Значение свойства
propertyName. Владение соблюдает Создать Правило.Обсуждение
Каждый тип потока может определить ряд свойств, что или описать или конфигурируют отдельные потоки. Свойство может быть любой интересной информацией о потоке. Примеры включают заголовки от передачи HTTP, ожидаемого числа байтов, данных полномочий файла, и т.д. Использовать
CFWriteStreamSetPropertyизменить значение свойства, несмотря на то, что некоторые свойства только для чтения.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает ошибку, связанную с потоком.
Объявление
Swift
func CFWriteStreamCopyError(_stream: CFWriteStream!) -> CFError!Objective C
CFErrorRef CFWriteStreamCopyError ( CFWriteStreamRef stream );Параметры
streamПоток для исследования.
Возвращаемое значение
Объект CFError, описывающий текущую проблему с потоком, или
NULLесли нет никакой ошибки. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает ошибочное состояние потока.
Использовать
CFWriteStreamCopyErrorвместо этого.Объявление
Swift
func CFWriteStreamGetError(_stream: CFWriteStream!) -> CFStreamErrorObjective C
CFStreamError CFWriteStreamGetError ( CFWriteStreamRef stream );Параметры
streamПоток для исследования.
Возвращаемое значение
Ошибочное состояние
streamвозвращенный в aCFStreamErrorструктура.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает текущее состояние потока.
Объявление
Swift
func CFWriteStreamGetStatus(_stream: CFWriteStream!) -> CFStreamStatusObjective C
CFStreamStatus CFWriteStreamGetStatus ( CFWriteStreamRef stream );Параметры
streamПоток для исследования.
Возвращаемое значение
Текущее состояние
stream. ПосмотритеCFStreamStatusдля списка возможных состояний.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Присваивает клиент потоку, получающему обратные вызовы, когда определенные события имеют место.
Объявление
Swift
func CFWriteStreamSetClient(_stream: CFWriteStream!, _streamEvents: CFOptionFlags, _clientCB: CFWriteStreamClientCallBack, _clientContext: UnsafeMutablePointer<CFStreamClientContext>) -> BooleanObjective C
Boolean CFWriteStreamSetClient ( CFWriteStreamRef stream, CFOptionFlags streamEvents, CFWriteStreamClientCallBack clientCB, CFStreamClientContext *clientContext );Параметры
streamПоток для изменения.
streamEventsНабор событий, для которых клиент должен получить обратные вызовы. События перечислены в
CFStreamEventType. Если Вы передаетеkCFStreamEventNone, текущий клиент дляstreamудален.clientCBКлиентская функция обратного вызова для вызова, когда одно из событий запросило в
streamEventsпроисходит. ЕслиNULL, текущий клиент дляstreamудален.clientContextСтруктура, содержащая контекстную информацию для потокового клиента. Функция копирует информацию из структуры, таким образом, память, которой указывают
clientContextне должен сохраняться вне вызова функции. ЕслиNULL, текущий клиент дляstreamудален.Возвращаемое значение
trueесли поток поддерживает асинхронное уведомление,falseиначе.Обсуждение
Чтобы избежать опрашивать и блокировать, можно зарегистрировать клиент для слушания об интересных событиях, происходящих на потоке. Только одному клиенту на поток разрешают; регистрация нового клиента заменяет предыдущий.
Как только Вы установили клиент, необходимо запланировать поток в использовании цикла выполнения
CFWriteStreamScheduleWithRunLoopтак, чтобы клиент мог получить асинхронные уведомления. Можно запланировать каждый поток в многократных циклах выполнения (например, при использовании пула потоков). Это - ответственность вызывающей стороны гарантировать, что по крайней мере один из запланированных циклов выполнения выполняется, иначе обратный вызов нельзя вызвать.Несмотря на то, что все Базовые потоки Основы в настоящее время поддерживают асинхронное уведомление, будущие потоковые типы не могут. Если поток не поддерживает асинхронное уведомление, эта функция возвраты
false. Как правило, такие потоки никогда не блокируют для устройства I/O (например, поток, пишущий в память), и не получают преимущества от асинхронного уведомления.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Устанавливает значение свойства для потока.
Объявление
Swift
func CFWriteStreamSetProperty(_stream: CFWriteStream!, _propertyName: CFString!, _propertyValue: AnyObject!) -> BooleanObjective C
Boolean CFWriteStreamSetProperty ( CFWriteStreamRef stream, CFStringRef propertyName, CFTypeRef propertyValue );Параметры
streamПоток для изменения.
propertyNameИмя свойства для установки. Доступные свойства для стандартных Базовых потоков Основы перечислены в Потоковых Свойствах.
propertyValueЗначение, в которое можно установить свойство
propertyNameдляstream. Позволенный тип данных значения зависит от устанавливаемого свойства.Возвращаемое значение
trueеслиstreamраспознает и принимает данную пару значения свойства,falseиначе.Обсуждение
Каждый тип потока может определить ряд свойств, что или описать или конфигурируют отдельные потоки. Свойство может быть любой интересной информацией о потоке. Примеры включают заголовки от передачи HTTP, ожидаемого числа байтов, данных полномочий файла, и т.д. Свойства, которые могут быть установлены, конфигурируют поведение потока и могут быть модифицируемыми только в определенные времена, такой как, прежде чем был открыт поток. (Фактически, необходимо предположить, что можно установить свойства только прежде, чем открыть поток, если не указано иное.) Для чтения значения использования свойства
CFWriteStreamCopyProperty, несмотря на то, что некоторые свойства только для записи.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает идентификатор типа всех объектов CFWriteStream.
Объявление
Swift
func CFWriteStreamGetTypeID() -> CFTypeIDObjective C
CFTypeID CFWriteStreamGetTypeID ( void );Возвращаемое значение
Идентификатор типа для CFWriteStream непрозрачный тип.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Когда определенные типы действия имеют место на перезаписываемом потоке, обратный вызов вызвал.
Объявление
Swift
typealias CFWriteStreamClientCallBack = CFunctionPointer<((CFWriteStream!, CFStreamEventType, UnsafeMutablePointer<Void>) -> Void)>Objective C
typedef void (*CFWriteStreamClientCallBack) ( CFWriteStreamRef stream, CFStreamEventType eventType, void *clientCallBackInfo );Параметры
streamПоток, испытавший событие
eventType.eventTypeСобытие, заставившее обратный вызов быть вызванным. Возможные события перечислены в Потоковых Событиях..
clientCallBackInfoinfoэлементCFStreamClientContextструктура, использовавшаяся при установке клиента дляstream.Обсуждение
Этот обратный вызов вызывают только для событий, которые требуют при установке клиента с
CFWriteStreamSetClient.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Ссылка на перезаписываемый потоковый объект.
Объявление
Swift
typealias CFWriteStreamRef = CFWriteStreamObjective C
typedef struct __CFWriteStream *CFWriteStreamRef;Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
