【发布时间】:2018-09-10 22:35:58
【问题描述】:
我正在查看this example of using reactive extensions with Core Bluetooth。但是,它是用 swift 3.0 编写的,并且在 Swift 4.2 中运行时存在许多错误。我有兴趣实现CBCentralManager 的响应式扩展,为我提供状态事件的 RX 流。
我的理解是,这允许代理从 CBCentralManager 接收委托事件并使用 _stateBehaviorSubject: BehaviorSubject<CBManagerState>? 将它们传播给观察者但是,该项目有太多错误,我无法弄清楚我应该在哪里削减以仅保留我的功能想。
如何使用 CBCentralManager 的 DelegateProxy 实现反应式扩展?
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)
}
}
【问题讨论】:
-
我在您的上一个问题中为您提供了一个可行的实现...stackoverflow.com/questions/52264303/…
标签: ios reactive-programming core-bluetooth rx-swift