4

Swift で XPC サービスを作成しており、プロトコルを作成しました。

protocol MyProtocol {

func myFunc()

}

プロトコルを使用して NSXPCInterface の新しいオブジェクトを初期化することにより、エクスポートされたオブジェクトが (私の main.swift で) 実装するインターフェイスを設定しようとすると、次のエラーが発生します。

/// 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') の値を予期される引数タイプ 'Protocol' に変換できません

誰でもこのエラーで私を助けることができますか?

4

1 に答える 1

4

プロトコルのタイプを参照するには、次を使用する必要があります.self

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

@objcまた、プロトコル宣言に追加する必要があります。

@objc protocol MyProtocol {
    // ...
}
于 2016-05-02T22:51:20.987 に答える