Ich versuche Delegat von SRWebSocket zu Observable zu migrieren. Das ist mein RxSocketManagerDelegateProxy.swift:Kann die Funktion proxyForObject nicht in DelegateProxyType (rxSwift) verwenden
class RxSocketManagerDelegateProxy: DelegateProxy, DelegateProxyType{
static func currentDelegateFor(object: AnyObject) -> AnyObject?{
let socket: SRWebSocket = object as! SRWebSocket
return socket.delegate
}
static func setCurrentDelegate(delegate: AnyObject?, toObject object: AnyObject) {
let socket: SRWebSocket = object as! SRWebSocket
socket.delegate = delegate as? SRWebSocketDelegate
}
}
extension SRWebSocket{
public var rx_delegate: DelegateProxy{
return DelegateProxyType.proxyForObject(self)
}
// ...
}
Das Problem ist in proxyForObject Funktion. Es ist nicht wie oben kompiliert. Ich erhalte eine Warnung "Statischer Member 'proxyForObject' kann nicht für Instanzen vom Typ 'DelegateProxyType.Protocol' verwendet werden."
Wenn ich versuche, proxyForObjectFunction wie diese zu verwenden (obwohl es veraltet ist):
public var rx_delegate: DelegateProxy{
return proxyForObject(RxSocketManagerDelegateProxy.self, self)
}
ich Meldung „Assertionsfehler: Datei/Users/Agentum/Dokumente/Xcode/Telemetrie/Hülsen/RxCocoa/RxCocoa/Common/DelegateProxyType.swift ".
Wie sollte ich die Funktion proxyForObject() verwenden, um den Delegaten korrekt zu migrieren?
Vielen Dank! – Marina