Об ошибке, обнаруженной в https://github.com/RxSwiftCommunity/RxStarscream/pull/23.
Я пытаюсь обобщить тип, чтобы можно было смоделировать класс, на котором он основан. Это означает, что я хочу перейти от конкретной реализации к протоколу.
Исходный класс выглядит так:
open class WebSocket : NSObject, StreamDelegate, WebSocketClient, WSStreamDelegate { ... }
...
}
Я хочу заменить это на этот протокол, который WebSocket
уже расширяется:
public protocol WebSocketClient : AnyObject {
...
}
Это означает, что я заменяю
public class RxWebSocketDelegateProxy: DelegateProxy<WebSocket, NSObjectProtocol>, ... {
...
}
с
public class RxWebSocketDelegateProxy: DelegateProxy<WebSocketClient, NSObjectProtocol>, ... {
...
}
Все это кажется достаточно простым - WebSocketClient
предоставляет все необходимые функции. Удивительно, но я получаю сообщение об ошибке
'DelegateProxy' требует, чтобы 'WebSocketClient' был типом класса
Я не уверен, что мне здесь не хватает, и буду признателен за указатели!