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)anObjectconnection:(NSConnection *)aConnectionПараметры
anObjectОбъект в адресном пространстве получателя.
aConnectionСоединение для возвращенного прокси.
Возвращаемое значение
Локальный прокси для
anObjectиaConnection, создание его при необходимости.Обсуждение
Другие приложения соединяются с прокси с помощью
NSConnectionconnectionWithRegisteredName:host:метод класса.Локальные прокси нужно считать частными к их
NSConnectionобъекты. ТолькоNSConnectionобъект должен использовать этот метод для создания их, и код не должен сохранять или иначе использовать локальные прокси.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует
NSDistantObjectвозразите как локальный прокси для данного объекта.Объявление
Objective C
- (instancetype)initWithLocal:(id)anObjectconnection:(NSConnection *)aConnectionПараметры
anObjectОбъект в адресном пространстве получателя.
aConnectionСоединение для возвращенного прокси.
Возвращаемое значение
Инициализированный
NSDistantObjectобъект, служащий локальным прокси дляanObject. Если прокси дляanObjectиaConnectionуже существует, получатель выпущен, и существующий прокси сохраняется и возвращается.Обсуждение
Другие приложения соединяются с прокси с помощью
NSConnectionconnectionWithRegisteredName:host:метод класса.Локальные прокси нужно считать частными к их
NSConnectionобъекты. ТолькоNSConnectionобъект должен использовать этот метод для создания их, и код не должен сохранять или иначе использовать локальные прокси.Это - определяемый инициализатор для локальных прокси. Это возвращает инициализированный объект, который мог бы отличаться, чем исходный получатель
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает удаленный прокси для данного объекта и соединения, создавая прокси при необходимости.
Объявление
Objective C
+ (id)proxyWithTarget:(id)remoteObjectconnection:(NSConnection *)aConnectionПараметры
remoteObjectОбъект в другом потоке или адресном пространстве другого приложения.
aConnectionСоединение для установки как
NSConnectionобъект для возвращенного прокси — это должно было быть создано с помощьюNSConnectionconnectionWithRegisteredName:host:метод класса.Возвращаемое значение
Удаленный прокси для
remoteObjectиaConnection, создание прокси при необходимостиОбсуждение
Удаленный прокси не может использоваться, пока у коллеги его соединения нет локального представления прокси
remoteObjectв другом приложении.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует недавно выделенный NSDistantObject как удаленный прокси для
remoteObject, который является ID в другом потоке или адресном пространстве другого приложения.Объявление
Objective C
- (instancetype)initWithTarget:(id)remoteObjectconnection:(NSConnection *)aConnectionПараметры
remoteObjectОбъект в другом потоке или адресном пространстве другого приложения.
aConnectionСоединение для установки как
NSConnectionобъект для возвращенного прокси — это должно было быть создано с помощьюNSConnectionconnectionWithRegisteredName: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 и позже.
