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

时间:2020-02-04 12:12:47

标签: ios build rx-swift flatmap map-api

我遇到了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”要求“字符串”符合“ ObservableConvertibleType”

我想念什么?

1 个答案:

答案 0 :(得分:1)

这是问题所在

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

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

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