我遇到了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”
我想念什么?
答案 0 :(得分:1)
这是问题所在
subject.flatMap({ (value) -> String in
PublishSubject.just(value)
})
在第一行中,您告诉编译器闭包返回String
,但是flatMap
要求闭包返回Observable类型。
此外,仅供参考:a.flatMap { .just($0) }
实际上是无人值守。
换句话说:a
≣a.flatMap { .just($0) }