I have a class, which uses a specific Protocol in several places. Like:
let connection.remoteObjectInterface = NSXPCInterface(with: MySpecialProtocol.self)
or:
let aProxy = connection.remoteObjectProxy as? MySpecialProtocol
...
private var currentProxy: MySpecialProtocol?
I would like to use this class also in other programs - with obviously some other Protocol.
I tried:
final class TestHandler
{
let SomeProtocol: Protocol
init(protocol someProtocol: Protocol)
{
SomeProtocol = someProtocol
}
func test() -> Any
{
let connection = NSXPCConnection(serviceName: "machServiceName" )
connection.remoteObjectInterface = NSXPCInterface(with: SomeProtocol.self)
let aProxy = connectionToService.remoteObjectProxy
// Error: Cannot find type 'SomeProtocol' in scope
let bProxy = connectionToService.remoteObjectProxy as? SomeProtocol
return aProxy
}
}
Any idea how to fix this? Also the function test() should return not "Any" but "SomeProtocol".
Maybe make the class generic about the protocol? But how?
Gerriet.