【问题标题】:How to use RxSwift with NVActivityIndicatorView?如何将 RxSwift 与 NVActivityIndi​​catorView 一起使用?
【发布时间】:2019-03-16 13:05:46
【问题描述】:

我正在尝试将NVActivityIndicatorViewRxSwiftMVVM 一起使用。 我正在扩展NVActivityIndicatorView,如下所示:

extension Reactive where Base: NVActivityIndicatorView {

/// Bindable sink for `startAnimating()`, `stopAnimating()` methods.
public var isAnimating: Binder<Bool> {
    return Binder(self.base) { activityIndicator, active in
        if active {
            activityIndicator.startAnimating()
        } else {
            activityIndicator.stopAnimating()
        }
    }
}}

并像这样绑定数据:

splashVM.loading.bind(to: NVActivityIndicatorView.rx.isAnimating).disposed(by: disposeBag)

但我得到 tis 错误:

Instance member 'isAnimating' cannot be used on type 'Reactive<NVActivityIndicatorView>'

如果我设置 isAnimation 静态,该错误消失但会弹出另一个错误:

Instance member 'base' cannot be used on type 'Reactive<Base>'

到底是什么问题?我应该改变什么?

【问题讨论】:

    标签: swift rx-swift uiactivityindicatorview indicator


    【解决方案1】:

    你绑定错了。您需要绑定到特定的活动指示器视图而不是类:

    let activityIndicatorView: NVActivityIndicatorView
    
    splashVM.loading
        .bind(to: activityIndicatorView.rx.isAnimating)
        .disposed(by: disposeBag)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-08
      • 2021-01-02
      相关资源
      最近更新 更多