我在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”

我想念什么?

最佳答案

这就是问题:

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

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

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

关于ios - 实例方法“flatMap”要求“字符串”符合“ObservableConvertibleType”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60057184/

10-12 21:44