NSPort
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSObjectProtocol -
Печатаемый -
NSCoding -
NSCopying -
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
NSPort абстрактный класс, представляющий канал передачи. Коммуникация происходит между NSPort объекты, обычно находящиеся в различных потоках или задачах. Распределенное системное использование объектов NSPort объекты отправить NSPortMessage объекты назад и вперед. Необходимо реализовать межсвязь приложений с помощью распределенных объектов каждый раз, когда возможный и использование NSPort объекты только при необходимости.
Получить входящие сообщения, NSPort объекты должны быть добавлены к NSRunLoop возразите как входные источники. NSConnection объекты автоматически добавляют их получать порт, когда инициализировано.
Когда NSPort объект получает сообщение порта, он передает сообщение своему делегату в a handleMachMessage: или handlePortMessage: сообщение. Делегат должен реализовать только один из этих методов для обработки входящего сообщения в любой желаемой форме. handleMachMessage: обеспечивает сообщение как сырые данные сообщение Маха, начинающееся a msg_header_t структура. handlePortMessage: обеспечивает сообщение как NSPortMessage объект, который является объектно-ориентированной оберткой для сообщения Маха. Если делегат не был установлен, NSPort возразите обрабатывает само сообщение.
Когда Вы закончены с помощью объекта порта, необходимо явно лишить законной силы объект порта до отправки его a release сообщение. Точно так же, если Ваше приложение использует сборку «мусора», необходимо лишить законной силы объект порта прежде, чем удалить любые сильные ссылки к нему. Если Вы не лишаете законной силы порт, получающийся объект порта может задержаться и создать утечку памяти. Для лишения законной силы объекта порта вызовите invalidate метод.
Основа определяет три конкретных подкласса NSPort. NSMachPort и NSMessagePort позвольте локальный (на той же машине) коммуникация только. NSSocketPort допускает и местную и удаленную связь, но может быть более дорогим, чем другие для локального случая. При создании NSPort объект, с помощью allocWithZone: или port, NSMachPort объект создается вместо этого.
-
+ allocWithZone:Доступный в iOS 2.0 через iOS 4.3Возвращает экземпляр
NSMachPortкласс.Объявление
Objective C
+ (id)allocWithZone:(NSZone *)zoneПараметры
zoneЗона памяти, в которой можно выделить новый объект.
Возвращаемое значение
Экземпляр
NSMachPortкласс.Обсуждение
Для обратной совместимости на Махе,
allocWithZone:возвращает экземплярNSMachPortкласс, когда отправлено вNSPortкласс. Иначе, это возвращает экземпляр конкретного подкласса, который может использоваться для обмена сообщениями между потоками или процессов на локальной машине, или, в случаеNSSocketPort, между процессами на отдельных машинах.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 через iOS 4.3.
-
Создает и возвращает новое
NSPortобъект, способный и к отправке и к получению сообщений.Объявление
Objective C
+ (NSPort *)portВозвращаемое значение
Новое
NSPortобъект, способный и к отправке и к получению сообщений.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Отмечает получатель как недопустимый и отправляет
NSPortDidBecomeInvalidNotificationк центру уведомления по умолчанию.Объявление
Swift
func invalidate()Objective C
- (void)invalidateОбсуждение
Необходимо вызвать этот метод прежде, чем выпустить объект порта (или удалить сильные ссылки к нему, если приложение собрано «мусор»).
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
validСвойствоБулево значение, указывающее, допустим ли получатель. (только для чтения)
Объявление
Swift
var valid: Bool { get }Objective C
@property(readonly, getter=isValid) BOOL validОбсуждение
NOfalseесли получатель, как известно, недопустим, иначеYEStrue.NSPortобъект становится недопустимым, когда его базовый коммуникационный ресурс, который зависим от операционной системы, закрыт или поврежден.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 8.0 и позже.
См. также
-
Устанавливает делегата получателя в данном объекте.
Объявление
Swift
func setDelegate(_anObject: NSPortDelegate?)Objective C
- (void)setDelegate:(id<NSPortDelegate>)anObjectПараметры
anObjectДелегат к получателю.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает делегата получателя.
Возвращаемое значение
Делегат получателя.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Этот метод предоставлен для подклассов, имеющих пользовательские типы
NSPort.Объявление
Swift
func sendBeforeDate(_limitDate: NSDate, componentscomponents: NSMutableArray, fromreceivePort: NSPort, reservedheaderSpaceReserved: Int) -> BoolObjective C
- (BOOL)sendBeforeDate:(NSDate *)limitDatecomponents:(NSMutableArray *)componentsfrom:(NSPort *)receivePortreserved:(NSUInteger)headerSpaceReservedПараметры
limitDateПрошлый момент, который может быть отправлено сообщение.
componentsКомпоненты сообщения.
receivePortПолучить порт.
headerSpaceReservedЧисло байтов зарезервировано для заголовка.
Обсуждение
NSConnectionвызовы этот метод в подходящее время. Этот метод нельзя вызвать непосредственно. Этот метод мог повыситьNSInvalidSendPortException,NSInvalidReceivePortException, илиNSPortSendException, В зависимости от типа отправляют порт и тип ошибки.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
sendBeforeDate (_: msgid:components:from:reserved:) - sendBeforeDate:msgid:components:from:reserved:Этот метод предоставлен для подклассов, имеющих пользовательские типы
NSPort.Объявление
Swift
func sendBeforeDate(_limitDate: NSDate, msgidmsgID: Int, componentscomponents: NSMutableArray, fromreceivePort: NSPort, reservedheaderSpaceReserved: Int) -> BoolObjective C
- (BOOL)sendBeforeDate:(NSDate *)limitDatemsgid:(NSUInteger)msgIDcomponents:(NSMutableArray *)componentsfrom:(NSPort *)receivePortreserved:(NSUInteger)headerSpaceReservedПараметры
limitDateПрошлый момент, который может быть отправлено сообщение.
msgIDИдентификатор сообщения.
componentsКомпоненты сообщения.
receivePortПолучить порт.
headerSpaceReservedЧисло байтов зарезервировано для заголовка.
Обсуждение
NSConnectionвызовы этот метод в подходящее время. Этот метод нельзя вызвать непосредственно. Этот метод мог повыситьNSInvalidSendPortException,NSInvalidReceivePortException, илиNSPortSendException, В зависимости от типа отправляют порт и тип ошибки.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
reservedSpaceLengthСвойствоЧисло байтов пространства зарезервировано получателем для отправки данных. (только для чтения)
Объявление
Swift
var reservedSpaceLength: Int { get }Objective C
@property(readonly) NSUInteger reservedSpaceLengthОбсуждение
Число байтов зарезервировано получателем для отправки данных. Длина по умолчанию
0.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Этот метод должен быть реализован подклассом, чтобы прекратить контролировать порта, когда удалено из дать цикла выполнения в данном режиме ввода.
Объявление
Параметры
runLoopЦикл выполнения, из которого можно удалить получатель.
modeРежим цикла выполнения, из которого можно удалить получатель
Обсуждение
Этот метод нельзя вызвать непосредственно.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Этот метод должен быть реализован подклассом для установки контроля порта, когда добавлено к данному выполненному циклу в данном режиме ввода.
Объявление
Параметры
runLoopЦикл выполнения, к которому можно добавить получатель.
modeРежим цикла выполнения, к которому можно добавить получатель
Обсуждение
Этот метод нельзя вызвать непосредственно.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Отправленный от
invalidateметод, вызывающийся когдаNSPortосвобожден или когда это замечает, что был поврежден его канал передачи. Объект уведомленияNSPortобъект, ставший недопустимым. Это уведомление не содержит auserInfoсловарь.NSSocketPortобъект не может обнаружить, когда его соединение с удаленным портом потеряно, даже если удаленный порт находится на той же машине. Поэтому это не может лишить законной силы себя и отправить это уведомление. Вместо этого необходимо обнаружить ошибку из-за тайм-аута, когда отправляется следующее сообщение.NSPortобъект, отправляющий это уведомление, больше не полезен, таким образом, все получатели должны не зарегистрировать себя для любых уведомлений, включающихNSPort. Метод, получающий это уведомление, должен проверить для наблюдения, какой порт стал недопустимым прежде, чем попытаться сделать что-либо. В частности наблюдатели, получающие всеNSPortDidBecomeInvalidNotificationсообщения должны знать, что связь с сервером окна обрабатывается черезNSPort. Если этот порт становится недопустимым, операции рисования вызовут фатальную ошибку.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
