NSXPCInterface 构造函数无法识别 Swift 中的协议
NSXPCInterface constructor does not recognise protocol in Swift
我正在 swift 创建一个 XPC 服务,并且我创建了我的协议:
protocol MyProtocol {
func myFunc()
}
当我尝试设置导出对象实现的接口时(在我的 main.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')的值转换为预期的参数类型 'Protocol'
谁能帮我解决这个错误?
要引用协议的类型,您需要在其上使用.self
:
newConnection.exportedInterface = NSXPCInterface(withProtocol: MyProtocol.self)
您还必须将 @objc
添加到您的协议声明中:
@objc protocol MyProtocol {
// ...
}
我正在 swift 创建一个 XPC 服务,并且我创建了我的协议:
protocol MyProtocol {
func myFunc()
}
当我尝试设置导出对象实现的接口时(在我的 main.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')的值转换为预期的参数类型 'Protocol'
谁能帮我解决这个错误?
要引用协议的类型,您需要在其上使用.self
:
newConnection.exportedInterface = NSXPCInterface(withProtocol: MyProtocol.self)
您还必须将 @objc
添加到您的协议声明中:
@objc protocol MyProtocol {
// ...
}