NSDistantObject
NSDistantObject
конкретный подкласс NSProxy
это определяет прокси для объектов в других приложениях или потоках. Когда удаленный объект получает сообщение, в большинстве случаев он передает сообщение через NSConnection
возразите против реального объекта в другом приложении, предоставив возвращаемое значение к отправителю сообщения, если Вы приняты, и распространяющий какое-либо исключение назад к invoker метода, повысившего его.
NSDistantObject
добавляют два полезных метода экземпляра для определенных NSProxy
: connectionForProxy
возвраты NSConnection
возразите, что обрабатывает получатель; setProtocolForProxy:
устанавливает набор методов, на которые реальный объект, как известно, отвечает, сохраняя сетевой трафик, требуемый определить параметр, и возврат вводит в первый раз, когда определенный селектор передается удаленному прокси.
Существует два вида удаленного объекта: локальные прокси и удаленные прокси. Локальный прокси создается NSConnection
возразите в первый раз, когда объект отправляется в другое приложение. Это использует соединение в бухгалтерских целях и нужно считать частным. Локальный прокси передается по сети с помощью NSCoding
протокол для создания удаленного прокси, который является объектом, который использует другое приложение. NSDistantObject
определяет методы для NSConnection
объект создать экземпляры, но они предназначаются только для подклассов для переопределения — Вы никогда не должны вызывать их непосредственно. Используйте rootProxyForConnectionWithRegisteredName:host:
метод NSConnection
, который устанавливает все требуемое состояние для пары объектной прокси.
Оператор импорта
Не применимый
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает локальный прокси для данного объекта и соединения, создавая прокси при необходимости.
Объявление
Objective C
+ (id)proxyWithLocal:(id)
anObject
connection:(NSConnection *)aConnection
Параметры
anObject
Объект в адресном пространстве получателя.
aConnection
Соединение для возвращенного прокси.
Возвращаемое значение
Локальный прокси для
anObject
иaConnection
, создание его при необходимости.Обсуждение
Другие приложения соединяются с прокси с помощью
NSConnection
connectionWithRegisteredName:host:
метод класса.Локальные прокси нужно считать частными к их
NSConnection
объекты. ТолькоNSConnection
объект должен использовать этот метод для создания их, и код не должен сохранять или иначе использовать локальные прокси.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует
NSDistantObject
возразите как локальный прокси для данного объекта.Объявление
Objective C
- (instancetype)initWithLocal:(id)
anObject
connection:(NSConnection *)aConnection
Параметры
anObject
Объект в адресном пространстве получателя.
aConnection
Соединение для возвращенного прокси.
Возвращаемое значение
Инициализированный
NSDistantObject
объект, служащий локальным прокси дляanObject
. Если прокси дляanObject
иaConnection
уже существует, получатель выпущен, и существующий прокси сохраняется и возвращается.Обсуждение
Другие приложения соединяются с прокси с помощью
NSConnection
connectionWithRegisteredName:host:
метод класса.Локальные прокси нужно считать частными к их
NSConnection
объекты. ТолькоNSConnection
объект должен использовать этот метод для создания их, и код не должен сохранять или иначе использовать локальные прокси.Это - определяемый инициализатор для локальных прокси. Это возвращает инициализированный объект, который мог бы отличаться, чем исходный получатель
Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает удаленный прокси для данного объекта и соединения, создавая прокси при необходимости.
Объявление
Objective C
+ (id)proxyWithTarget:(id)
remoteObject
connection:(NSConnection *)aConnection
Параметры
remoteObject
Объект в другом потоке или адресном пространстве другого приложения.
aConnection
Соединение для установки как
NSConnection
объект для возвращенного прокси — это должно было быть создано с помощьюNSConnection
connectionWithRegisteredName:host:
метод класса.Возвращаемое значение
Удаленный прокси для
remoteObject
иaConnection
, создание прокси при необходимостиОбсуждение
Удаленный прокси не может использоваться, пока у коллеги его соединения нет локального представления прокси
remoteObject
в другом приложении.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует недавно выделенный NSDistantObject как удаленный прокси для
remoteObject
, который является ID в другом потоке или адресном пространстве другого приложения.Объявление
Objective C
- (instancetype)initWithTarget:(id)
remoteObject
connection:(NSConnection *)aConnection
Параметры
remoteObject
Объект в другом потоке или адресном пространстве другого приложения.
aConnection
Соединение для установки как
NSConnection
объект для возвращенного прокси — это должно было быть создано с помощьюNSConnection
connectionWithRegisteredName:host:
метод класса.Возвращаемое значение
NSDistantObject
объект, инициализированный как удаленный прокси дляremoteObject
. Если прокси дляremoteObject
иaConnection
уже существует, получатель выпущен, и существующий прокси сохраняется и возвращается.Обсуждение
Удаленный прокси не может использоваться, пока у коллеги его соединения нет локального представления прокси
remoteObject
в другом приложении.Это - определяемый инициализатор для удаленных прокси. Это возвращает инициализированный объект, который мог бы отличаться, чем исходный получатель.
Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает соединение, используемое получателем.
Объявление
Objective C
@property(readonly, retain) NSConnection *connectionForProxy
Возвращаемое значение
Соединение используется получателем.
Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает методы, которые, как известно, были обработаны получателем тем в данном протоколе.
Объявление
Objective C
- (void)setProtocolForProxy:(Protocol *)
aProtocol
Параметры
aProtocol
Протокол для получателя.
Обсуждение
Установка протокола для удаленного прокси сокращает сетевой трафик, должен был определить типы возврата и аргумент метода.
Для кодирования параметров сообщения за передачу по сети типы тех параметров должны быть известны заранее. Когда они не известны, распределенная система объектов должна отправить первоначальное сообщение только для получения тех типов, удвоив сетевой трафик для каждого нового отправленного сообщения. Установка протокола улучшает эту потребность в методах, определенных протоколом. Можно все еще отправить сообщения, не объявляющиеся в
aProtocol
— в этом случае первоначальное сообщение отправляется для определения типов, и затем реальное сообщение отправляется.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.