2

我遇到以下构建错误RxSwift

func testFlatMap() {

    let bag = DisposeBag()
    let subject = PublishSubject<String>.init()

    subject.flatMap({ (value) -> String in
            PublishSubject.just(value)
        }).subscribe(

        onNext: { value in
            print(value)
        }

    ).disposed(by: bag)

    subject.on(.next("Test"))
}

实例方法“flatMap”要求“String”符合“ObservableConvertibleType”

我错过了什么?

4

1 回答 1

2

这就是问题:

subject.flatMap({ (value) -> String in
    PublishSubject.just(value)
})

在第一行中,您告诉编译器闭包返回 aStringflatMap要求闭包返回 Observable 类型。

此外,仅供参考:a.flatMap { .just($0) }实际上是无操作的。换句话说:aa.flatMap { .just($0) }

于 2020-02-04T12:21:59.773 回答