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

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

Разработчик

Ссылка платформы основы ссылка класса NSPort

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

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

NSPort

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 объект создается вместо этого.

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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • allocWithZone: + allocWithZone: Доступный в OS X v10.0 через OS X v10.6

    Возвращает экземпляр NSMachPort класс.

    Объявление

    Objective C

    + (id)allocWithZone:(NSZone *)zone

    Параметры

    zone

    Зона памяти, в которой можно выделить новый объект.

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

    Экземпляр NSMachPort класс.

    Обсуждение

    Для обратной совместимости на Махе, allocWithZone: возвращает экземпляр NSMachPort класс, когда отправлено в NSPort класс. Иначе, это возвращает экземпляр конкретного подкласса, который может использоваться для обмена сообщениями между потоками или процессов на локальной машине, или, в случае NSSocketPort, между процессами на отдельных машинах.

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

    Objective C

    @import Foundation;

    Доступность

    Доступный в OS X v10.0 через OS X v10.6.

  • Создает и возвращает новое NSPort объект, способный и к отправке и к получению сообщений.

    Объявление

    Objective C

    + (NSPort *)port

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

    Новое NSPort объект, способный и к отправке и к получению сообщений.

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

    Objective C

    @import Foundation;

    Доступность

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

    См. также

    + allocWithZone:

  • Отмечает получатель как недопустимый и отправляет NSPortDidBecomeInvalidNotification к центру уведомления по умолчанию.

    Объявление

    Swift

    func invalidate()

    Objective C

    - (void)invalidate

    Обсуждение

    Необходимо вызвать этот метод прежде, чем выпустить объект порта (или удалить сильные ссылки к нему, если приложение собрано «мусор»).

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    допустимый

  • Булево значение, указывающее, допустим ли получатель. (только для чтения)

    Объявление

    Swift

    var valid: Bool { get }

    Objective C

    @property(readonly, getter=isValid) BOOL valid

    Обсуждение

    NOfalse если получатель, как известно, недопустим, иначе YEStrue.

    NSPort объект становится недопустимым, когда его базовый коммуникационный ресурс, который зависим от операционной системы, закрыт или поврежден.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Устанавливает делегата получателя в данном объекте.

    Объявление

    Swift

    func setDelegate(_ anObject: NSPortDelegate?)

    Objective C

    - (void)setDelegate:(id<NSPortDelegate>)anObject

    Параметры

    anObject

    Делегат к получателю.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – делегат

  • Возвращает делегата получателя.

    Объявление

    Swift

    func delegate() -> NSPortDelegate?

    Objective C

    - (id<NSPortDelegate>)delegate

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

    Делегат получателя.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – setDelegate:

  • Добавляет получатель к списку портов, контролируемых данным выполненным циклом для данного режима ввода.

    Объявление

    Objective C

    - (void)addConnection:(NSConnection *)connection toRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode

    Параметры

    connection

    Объект соединения, вызвавший этот метод.

    runLoop

    Цикл выполнения, к которому можно добавить получатель.

    mode

    Режим цикла выполнения, в котором можно добавить получатель.

    Обсуждение

    Вы не должны вызывать этот метод непосредственно. Метод предоставлен для подклассификаторов, хотящих обеспечить их собственные типы NSPort. NSConnection объект, connection, вызовы этот метод в подходящее время.

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

    Objective C

    @import Foundation;

    Доступность

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

    См. также

    addPort:forMode: (NSRunLoop)

  • Удаляет получатель из списка портов, контролируемых runLoop в данном режиме ввода, mode.

    Объявление

    Objective C

    - (void)removeConnection:(NSConnection *)connection fromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode

    Параметры

    connection

    Объект соединения, вызвавший этот метод.

    runLoop

    Цикл выполнения, к которому можно добавить получатель.

    mode

    Режим цикла выполнения, в котором можно добавить получатель.

    Обсуждение

    Вы не должны вызывать этот метод непосредственно. Метод предоставлен для подклассификаторов, хотящих обеспечить их собственные типы NSPort. NSConnection объект, connection, вызовы этот метод в подходящее время.

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

    Objective C

    @import Foundation;

    Доступность

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

  • Этот метод предоставлен для подклассов, имеющих пользовательские типы NSPort.

    Объявление

    Swift

    func sendBeforeDate(_ limitDate: NSDate, components components: NSMutableArray, from receivePort: NSPort, reserved headerSpaceReserved: Int) -> Bool

    Objective C

    - (BOOL)sendBeforeDate:(NSDate *)limitDate components:(NSMutableArray *)components from:(NSPort *)receivePort reserved:(NSUInteger)headerSpaceReserved

    Параметры

    limitDate

    Прошлый момент, который может быть отправлено сообщение.

    components

    Компоненты сообщения.

    receivePort

    Получить порт.

    headerSpaceReserved

    Число байтов зарезервировано для заголовка.

    Обсуждение

    NSConnection вызовы этот метод в подходящее время. Этот метод нельзя вызвать непосредственно. Этот метод мог повысить NSInvalidSendPortException, NSInvalidReceivePortException, или NSPortSendException, В зависимости от типа отправляют порт и тип ошибки.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Этот метод предоставлен для подклассов, имеющих пользовательские типы NSPort.

    Объявление

    Swift

    func sendBeforeDate(_ limitDate: NSDate, msgid msgID: Int, components components: NSMutableArray, from receivePort: NSPort, reserved headerSpaceReserved: Int) -> Bool

    Objective C

    - (BOOL)sendBeforeDate:(NSDate *)limitDate msgid:(NSUInteger)msgID components:(NSMutableArray *)components from:(NSPort *)receivePort reserved:(NSUInteger)headerSpaceReserved

    Параметры

    limitDate

    Прошлый момент, который может быть отправлено сообщение.

    msgID

    Идентификатор сообщения.

    components

    Компоненты сообщения.

    receivePort

    Получить порт.

    headerSpaceReserved

    Число байтов зарезервировано для заголовка.

    Обсуждение

    NSConnection вызовы этот метод в подходящее время. Этот метод нельзя вызвать непосредственно. Этот метод мог повысить NSInvalidSendPortException, NSInvalidReceivePortException, или NSPortSendException, В зависимости от типа отправляют порт и тип ошибки.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Число байтов пространства зарезервировано получателем для отправки данных. (только для чтения)

    Объявление

    Swift

    var reservedSpaceLength: Int { get }

    Objective C

    @property(readonly) NSUInteger reservedSpaceLength

    Обсуждение

    Число байтов зарезервировано получателем для отправки данных. Длина по умолчанию 0.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Этот метод должен быть реализован подклассом, чтобы прекратить контролировать порта, когда удалено из дать цикла выполнения в данном режиме ввода.

    Объявление

    Swift

    func removeFromRunLoop(_ runLoop: NSRunLoop, forMode mode: String)

    Objective C

    - (void)removeFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode

    Параметры

    runLoop

    Цикл выполнения, из которого можно удалить получатель.

    mode

    Режим цикла выполнения, из которого можно удалить получатель

    Обсуждение

    Этот метод нельзя вызвать непосредственно.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Этот метод должен быть реализован подклассом для установки контроля порта, когда добавлено к данному выполненному циклу в данном режиме ввода.

    Объявление

    Swift

    func scheduleInRunLoop(_ runLoop: NSRunLoop, forMode mode: String)

    Objective C

    - (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode

    Параметры

    runLoop

    Цикл выполнения, к которому можно добавить получатель.

    mode

    Режим цикла выполнения, к которому можно добавить получатель

    Обсуждение

    Этот метод нельзя вызвать непосредственно.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Отправленный от invalidate метод, вызывающийся когда NSPort освобожден или когда это замечает, что был поврежден его канал передачи. Объект уведомления NSPort объект, ставший недопустимым. Это уведомление не содержит a userInfo словарь.

    NSSocketPort объект не может обнаружить, когда его соединение с удаленным портом потеряно, даже если удаленный порт находится на той же машине. Поэтому это не может лишить законной силы себя и отправить это уведомление. Вместо этого необходимо обнаружить ошибку из-за тайм-аута, когда отправляется следующее сообщение.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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