NSXPCInterface
Класс, описывающий методы, которые могут быть отправлены в экспортируемый прокси объектного или удаленного объекта.
Этот объект содержит всю информацию об интерфейсе экспортируемого прокси объектного или удаленного объекта. Это описывает то, какие сообщения позволяются, какие виды объектов позволяются как параметры, что подпись любых блоков ответа, и информация о дополнительных объектах прокси.
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает текущий список позволенных классов, которые могут появиться в указанном параметре объекта коллекции указанному методу.
Объявление
Swift
func classesForSelector(_
sel
: Selector, argumentIndexarg
: Int, ofReplyofReply
: Bool) -> NSSetObjective C
- (NSSet *)classesForSelector:(SEL)
sel
argumentIndex:(NSUInteger)arg
ofReply:(BOOL)ofReply
Параметры
sel
Указывает, о каком методе в протоколе Вы хотите информацию.
arg
Указывает позицию (запускающийся в индексе 0) параметра, для которого Вы хотите получить текущий набор позволенных классов. Это может быть или позицией параметра в самом методе или позицией в ее блоке ответа.
ofReply
Передача
YES
true
еслиarg
индекс в параметры блока ответа, илиNO
false
если это - индекс в параметры самого метода.Обсуждение
Посмотрите
setClasses:forSelector:argumentIndex:ofReply:
для большего количества объяснения.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает интерфейс, ранее установленный для указанного селектора и параметра.
Объявление
Swift
func interfaceForSelector(_
sel
: Selector, argumentIndexarg
: Int, ofReplyofReply
: Bool) -> NSXPCInterface?Objective C
- (NSXPCInterface *)interfaceForSelector:(SEL)
sel
argumentIndex:(NSUInteger)arg
ofReply:(BOOL)ofReply
Параметры
sel
Указывает, о каком методе в протоколе Вы хотите информацию.
arg
Указывает позицию (запускающийся в индексе 0) параметра, для которого Вы хотите получить текущий интерфейс. Это может быть или позицией параметра в самом методе или позицией в ее блоке ответа.
ofReply
Передача
YES
true
еслиarg
индекс в параметры блока ответа, илиNO
false
если это - индекс в параметры самого метода.Обсуждение
Посмотрите
setInterface:forSelector:argumentIndex:ofReply:
для большего количества объяснения.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Устанавливает классы, которые могут появиться в (численно) указанном параметре объекта коллекции указанному методу.
Объявление
Swift
func setClasses(_
classes
: NSSet, forSelectorsel
: Selector, argumentIndexarg
: Int, ofReplyofReply
: Bool)Objective C
- (void)setClasses:(NSSet *)
classes
forSelector:(SEL)sel
argumentIndex:(NSUInteger)arg
ofReply:(BOOL)ofReply
Параметры
classes
NSSet
содержа Объекты класса — например,[MyObject class]
.sel
Указывает, какой метод в протоколе конфигурируется.
arg
Указывает позицию (запускающийся в индексе 0) параметра, для которого Вы позволяете классы. Это может быть или позицией параметра в самом методе или позицией в ее блоке ответа.
ofReply
Передача
YES
true
еслиarg
индекс в параметры блока ответа, илиNO
false
если это - индекс в параметры самого метода.Обсуждение
Если параметром методу в Вашем протоколе является класс набора (например, NSArray или NSDictionary), то необходимо явно указать набор ожидаемых классов, которые могут появиться в том наборе.
Если ожидаемые классы являются всеми типами списка свойств, вызывание этого метода является дополнительным; типы списка свойств позволяются значением по умолчанию в объектах коллекции. Можно, однако, вызвать этот метод для дальнейшего ограничения набора позволенных классов.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
setInterface (_: forSelector:argumentIndex:ofReply:) - setInterface:forSelector:argumentIndex:ofReply:
Конфигурирует определенный параметр метода, который будет отправлен как объект прокси вместо скопированного.
Объявление
Swift
func setInterface(_
ifc
: NSXPCInterface, forSelectorsel
: Selector, argumentIndexarg
: Int, ofReplyofReply
: Bool)Objective C
- (void)setInterface:(NSXPCInterface *)
ifc
forSelector:(SEL)sel
argumentIndex:(NSUInteger)arg
ofReply:(BOOL)ofReply
Параметры
ifc
NSXPCInterface
объект, описывающий протокол для объекта прокси. Интерфейс сконфигурирован тот же путь как интерфейс для экспортируемого прокси объектного или удаленного объекта.sel
Указывает, какой метод в протоколе конфигурируется.
arg
Указывает позицию (запускающийся в индексе 0) параметра, для которого Вы конфигурируете объект прокси. Это может быть или позицией параметра в самом методе или позицией в ее блоке ответа. Этим параметром должен быть объект.
ofReply
Передача
YES
true
еслиarg
индекс в параметры блока ответа, илиNO
false
если это - индекс в параметры самого метода.Обсуждение
Если параметр методу в Вашем протоколе должен быть отправлен как объект прокси вместо копией, то сконфигурируйте интерфейс для того протокола с новым интерфейсом для определенного параметра. Примером объекта, который должен быть прокси вместо того, чтобы быть скопированным, является объект представления.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает экземпляр NSXPCInterface для данного протокола.
Объявление
Swift
init(`protocol` `
protocol
`: Protocol) -> NSXPCInterfaceObjective C
+ (NSXPCInterface *)interfaceWithProtocol:(Protocol *)
protocol
Обсуждение
Большинству интерфейсов не нужна дальнейшая конфигурация. Интерфейсы с классами набора или дополнительными объектами прокси должны быть сконфигурированы с помощью других методов в этом классе.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.
-
Протокол Objective C, на котором основывается этот интерфейс.
Объявление
Swift
unowned(unsafe) var `protocol`: Protocol
Objective C
@property(assign) Protocol *protocol
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.8 и позже.