NSOutputStream
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
NSOutputStream класс является подклассом NSStream это обеспечивает потоковую функциональность только для записи.
NSOutputStream “бесплатный соединенный мостом” с его Базовым дубликатом Основы, CFWriteStreamRef. Для получения дополнительной информации о бесплатном образовании моста посмотрите Бесплатное Образование моста.
Разделение на подклассы примечаний
NSOutputStream конкретный подкласс NSStream это позволяет Вам записать данные в поток. Несмотря на то, что NSOutputStream вероятно, достаточно для большинства ситуаций, требующих этой возможности, можно создать подкласс NSOutputStream если Вы хотите более специализированное поведение (например, Вы хотите записать статистику по данным в потоке).
Методы для переопределения
Создать подкласс NSOutputStream Вам, вероятно, придется реализовать инициализаторы для типа потоковых поддерживаемых данных и соответственно повторно реализовать существующие инициализаторы. Необходимо также обеспечить полноценные внедрения следующих методов:
-
От текущего указателя записи возьмите до числа байтов, указанных в
maxLength:параметр от предоставленного клиентами буфера (первый параметр) и помещенный их на поток. Буфер должен иметь размер, указанный вторым параметром. Для подготовки к следующей работе сместите указатель записи числом записанных байтов. Возвратите целое число со знаком на основе результата текущей работы:Если операция записи успешна, возвратите фактическое число байтов, помещенных на поток.
Если была ошибка при записи в поток, возвратитесь-1.
Если поток имеет фиксированную длину и достиг своей способности, возвратите нуль.
-
Возвратиться
YEStrueесли поток может в настоящее время принимать больше данных,NOfalseесли это не может. Если Вы хотите быть семантически совместимыми сNSOutputStream, возвратитьсяYEStrueесли запись должна быть опробована, чтобы определить, доступно ли пространство.
-
Создает и возвращает инициализированный поток вывода, который запишет потоковые данные в память.
Объявление
Swift
class func outputStreamToMemory() -> SelfObjective C
+ (instancetype)outputStreamToMemoryВозвращаемое значение
Инициализированный поток вывода, который запишет потоковые данные в память.
Обсуждение
Поток должен быть открыт, прежде чем он сможет использоваться.
Вы получаете содержание потока памяти путем отправки сообщения
propertyForKey:к получателю с параметромNSStreamDataWrittenToMemoryStreamKey.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает инициализированный поток вывода, который может записать в предоставленный буфер.
Объявление
Objective C
+ (instancetype)outputStreamToBuffer:(uint8_t *)buffercapacity:(NSUInteger)capacityПараметры
bufferБуфер поток вывода запишет в.
capacityРазмер буфера в байтах.
Возвращаемое значение
Инициализированный поток вывода, который может записать в
buffer.Обсуждение
Поток должен быть открыт, прежде чем он сможет использоваться.
Когда число байтов, записанных в
bufferдостигcapacity, потокstreamStatusвозвратитсяNSStreamStatusAtEnd.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает инициализированный поток вывода для записи в указанный файл.
Объявление
Objective C
+ (instancetype)outputStreamToFileAtPath:(NSString *)pathappend:(BOOL)shouldAppendПараметры
pathПуть к файлу поток вывода запишет в.
shouldAppendYEStrueесли недавно записанные данные должны быть добавлены к какому-либо существующему содержанию файла,NOfalseиначе.Возвращаемое значение
Инициализированный поток вывода, который может записать в
path.Обсуждение
Поток должен быть открыт, прежде чем он сможет использоваться.
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
-
Создает и возвращает инициализированный поток вывода для записи в указанный URL.
Объявление
Objective C
+ (instancetype)outputStreamWithURL:(NSURL *)urlappend:(BOOL)shouldAppendПараметры
urlURL к файлу поток вывода запишет в.
shouldAppendYEStrueесли недавно записанные данные должны быть добавлены к какому-либо существующему содержанию файла,NOfalseиначе.Возвращаемое значение
Инициализированный поток вывода, который может записать в
url.Обсуждение
Поток должен быть открыт, прежде чем он сможет использоваться.
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 4.0 и позже.
-
init (toMemory:) - initToMemoryОпределяемый инициализаторВозвращает инициализированный поток вывода, который запишет в память.
Объявление
Swift
init(toMemorytoMemory: ())Objective C
- (instancetype)initToMemoryВозвращаемое значение
Инициализированный поток вывода, который запишет потоковые данные в память.
Обсуждение
Поток должен быть открыт, прежде чем он сможет использоваться.
Содержание потока памяти получено путем передачи константы
NSStreamDataWrittenToMemoryStreamKeyкpropertyForKey:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
init (toBuffer:capacity:) - initToBuffer:capacity:Определяемый инициализаторВозвращает инициализированный поток вывода, который может записать в предоставленный буфер.
Объявление
Swift
init(toBufferbuffer: UnsafeMutablePointer<UInt8>, capacitycapacity: Int)Objective C
- (instancetype)initToBuffer:(uint8_t *)buffercapacity:(NSUInteger)capacityПараметры
bufferБуфер поток вывода запишет в.
capacityРазмер буфера в байтах.
Возвращаемое значение
Инициализированный поток вывода, который может записать в
buffer.Обсуждение
Поток должен быть открыт, прежде чем он сможет использоваться.
Когда число байтов, записанных в
bufferдостигcapacity, потокstreamStatusвозвратитсяNSStreamStatusAtEnd.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает инициализированный поток вывода для записи в указанный файл.
Объявление
Swift
convenience init?(toFileAtPathpath: String, appendshouldAppend: Bool)Objective C
- (instancetype)initToFileAtPath:(NSString *)pathappend:(BOOL)shouldAppendПараметры
pathПуть к файлу поток вывода запишет в.
shouldAppendYEStrueесли недавно записанные данные должны быть добавлены к какому-либо существующему содержанию файла,NOfalseиначе.Возвращаемое значение
Инициализированный поток вывода, который может записать в
path.Обсуждение
Поток должен быть открыт, прежде чем он сможет использоваться.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
init (URL:append:) - initWithURL:append:Определяемый инициализаторВозвращает инициализированный поток вывода для записи в указанный URL.
Объявление
Swift
init?(URLurl: NSURL, appendshouldAppend: Bool)Objective C
- (instancetype)initWithURL:(NSURL *)urlappend:(BOOL)shouldAppendПараметры
urlURL к файлу поток вывода запишет в.
shouldAppendYEStrueесли недавно записанные данные должны быть добавлены к какому-либо существующему содержанию файла,NOfalseиначе.Возвращаемое значение
Инициализированный поток вывода, который может записать в
url.Обсуждение
Поток должен быть открыт, прежде чем он сможет использоваться.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 4.0 и позже.
См. также
-
hasSpaceAvailableСвойствоБулево значение, указывающее, может ли получатель быть записан в. (только для чтения)
Объявление
Swift
var hasSpaceAvailable: Bool { get }Objective C
@property(readonly) BOOL hasSpaceAvailableОбсуждение
YEStrueесли получатель может быть записан в или если запись должна быть опробована, чтобы определить, доступно ли пространство,NOfalseиначе.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Пишет содержание буфера предоставленных данных к получателю.
Объявление
Objective C
- (NSInteger)write:(const uint8_t *)buffermaxLength:(NSUInteger)lengthПараметры
bufferДанные для записи.
lengthДлина буфера данных, в байтах.
Возвращаемое значение
Число байтов, фактически записанных, или
-1если происходит ошибка. Больше информации об ошибке может быть получено сstreamError. Если получатель является потоком фиксированной длины и достиг его способности,0возвращается.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
