RxSwift:使用BehaviorRelay我收到此错误:实例方法'concatMap'要求'[Int]'符合'ObservableConvertibleType'

时间:2019-12-02 20:33:59

标签: rx-swift xcode11.2 ios13.2 swift5.2

我正在尝试在concatMap上使用BehaviorRelay,但出现此错误:

Instance method 'concatMap' requires that '[Int]' conform to 'ObservableConvertibleType'

这是我的实现方式

class MyClass{

    var disposeBag = DisposeBag()
    var subject: BehaviorRelay<[Int]> = BehaviorRelay(value: [1,2,3,4,5])


    func doSomething() {
        subject.asObservable().concatMap { $0 }
            .subscribe { print($0) }
            .disposed(by: disposeBag)

    }
}

我在此行出现错误:

subject.asObservable().concatMap { $0 }

你们中的任何人都知道为什么我会收到此错误,或者如何在我的实现中解决此错误?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这里的问题是概念上的。在Ints数组上使用concatMap没有任何意义。该错误基本上是在告诉您一个Ints数组不是 一个Observable。这里没有可观察到的东西。

您需要回过头来考虑要完成的工作,并找到适合该工作的操作员。