【发布时间】:2019-11-18 10:19:11
【问题描述】:
当使用 if/else 根据条件返回 a 或 b 时,我收到此错误:Cannot convert value of type 'Observable<_.Element>' to specified type 'Observable<Int>'
let a = Observable.of(1)
let b = Observable.of(2)
var test = true
let c: Observable<Int> = Observable.of(3).flatMap { _ in
if test {
return a
} else {
return b
}
}
但是当我更改为条件运算符时,它工作正常:
let a = Observable.of(1)
let b = Observable.of(2)
var test = true
let c: Observable<Int> = Observable.of(3).flatMap { _ in
return test ? a : b
}
为什么第一个不起作用? to case 有什么区别?
【问题讨论】: