Ant*_*ine 0 macos swift swift-protocols
我正在尝试为 NSXPCInterface 构建一个协议,但遇到了一个奇怪的问题。
我创建了一个协议:
public protocol AProtocol {
//functions in here
}
Run Code Online (Sandbox Code Playgroud)
当我想将其添加到 NSXPCConnection 的导出接口时,
let newConnection: NSXPCConnection
newConnection.exportedInterface = NSXPCInterface(with: AProtocol.self)
Run Code Online (Sandbox Code Playgroud)
我收到这个奇怪的错误:
Cannot convert value of type 'AProtocol.Protocol' to expected argument type 'Protocol'
Run Code Online (Sandbox Code Playgroud)
我不知道原因,但尝试一下它的工作原理。添加@objc之前protocol
@objc public protocol AProtocol {
//functions in here
}
Run Code Online (Sandbox Code Playgroud)
不要忘记初始化NSXPCConnection
编辑:从这里找到原因
“@objc”将协议公开给 Objective C 运行时,并允许我们将任何“协议类型”作为参数传递
| 归档时间: |
|
| 查看次数: |
2222 次 |
| 最近记录: |