2015-11-02 10 views
3

Я создаю службу XPC в скор, и я создал свой протокол:NSXPCInterface конструктор не распознает протокол в Swift

protocol MyProtocol { 

func myFunc() 

} 

Когда я пытаюсь установить интерфейс, что экспортируемый реализует объект (в моем основных .swift), путем инициализации нового объекта NSXPCInterface с протоколом, я получаю сообщение об ошибке:

/// This method is where the NSXPCListener configures, accepts, and resumes a new incoming NSXPCConnection. 
func listener(listener: NSXPCListener, shouldAcceptNewConnection newConnection: NSXPCConnection) -> Bool { 
    // Configure the connection. 
    // First, set the interface that the exported object implements. 
    newConnection.exportedInterface = NSXPCInterface(MyProtocol) 

Ошибка: не удается преобразовать значение типа «(MyProtocol) .Protocol» (он же «MyProtocol.Protocol») в ожидаемый тип аргумента «Протокол»

Может ли кто-нибудь помочь мне с этой ошибкой?

ответ

3

Для ссылки на тип протокола, который необходимо использовать .self на нем:

newConnection.exportedInterface = NSXPCInterface(withProtocol: MyProtocol.self) 

Вы также должны добавить @objc к вашей декларации протокола:

@objc protocol MyProtocol { 
    // ... 
} 
+0

пожалуйста, проверьте этот [URL] (HTTP : //stackoverflow.com/tour), будет полезно помочь вам повысить качество контента –

 Смежные вопросы

  • Нет связанных вопросов^_^