Я смотрю на этот пример использования реактивных расширений с Core Bluetooth . Тем не менее, он написан на Swift 3.0 и имеет ряд ошибок, работающих в Swift 4.2. Я заинтересован в реализации реактивного расширения CBCentralManager
, чтобы предоставить мне поток событий RX.
Насколько я понимаю, это позволяет прокси-серверу получать события делегатов из CBCentralManager и распространять их среди наблюдателей, используя _stateBehaviorSubject: BehaviorSubject<CBManagerState>?
Однако в проекте слишком много ошибок, и я не могу понять, где я могу сократить, чтобы сохранить только те функции, которые я хочу.
Как реализовать реактивное расширение, используя DelegateProxy для CBCentralManager?
extension Reactive where Base: CBCentralManager {
public var delegate: DelegateProxy {
return RxCBCentralManagerDelegateProxy.proxyForObject(base)
}
public var state: Observable<CBManagerState> {
let proxy = RxCBCentralManagerDelegateProxy.proxyForObject(base) //error here
return proxy.stateBehaviorSubject.skip(1)
}
}