SRWebSocketのデリゲートを監視可能に移行しようとしています。これは私のRxSocketManagerDelegateProxy.swiftです:DelegateProxyType(rxSwift)でproxyForObject関数を使用できません
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)
}
// ...
}
問題はproxyForObject関数です。上記のようにコンパイルされていません。 "静的メンバー 'proxyForObject'は 'DelegateProxyType.Protocol'タイプのインスタンスでは使用できません。"
私は(それは推奨されませんが)このようproxyForObjectFunctionを使用しよう:
public var rx_delegate: DelegateProxy{
return proxyForObject(RxSocketManagerDelegateProxy.self, self)
}
私がメッセージ「アサーションを取得に失敗しました:ファイル/ユーザ/ Agentum /ドキュメント/ Xcodeの/テレメトリ/ポッド/ RxCocoa/RxCocoa/Common/DelegateProxyType.swift "と入力します。
デリゲートを正しく移行するためにproxyForObject()関数を使用する必要がありますか?
非常にありがとう! – Marina