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

Saz*_*han 3 build ios flatmap rx-swift

我遇到以下构建错误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"))
}
Run Code Online (Sandbox Code Playgroud)

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

我缺少什么?

Dan*_* T. 6

这就是问题:

\n\n
subject.flatMap({ (value) -> String in\n    PublishSubject.just(value)\n})\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

另外,仅供参考:a.flatMap { .just($0) }实际上是一个空操作。\n换句话说:a\xe2\x89\xa3a.flatMap { .just($0) }

\n