Swift3 iOS RXSwift如何从中获取价值。成功结果?
获取相关值的正确语法是什么。RXSwift中的成功结果?Swift3 iOS RXSwift如何从中获取价值。成功结果?,swift3,ios11,rx-swift,associated-types,Swift3,Ios11,Rx Swift,Associated Types,获取相关值的正确语法是什么。RXSwift中的成功结果? .map{ (result : Result<Double>) -> Double in //how to get duration from result? this does not work let duration : Double = result.success.value return duration } .map{(结果:result)->双精度输入 /
.map{ (result : Result<Double>) -> Double in
//how to get duration from result? this does not work
let duration : Double = result.success.value
return duration
}
.map{(结果:result)->双精度输入
//如何从结果中获取持续时间?这不起作用
让持续时间:Double=result.success.value
返回持续时间
}
添加通用扩展名:
enum Result<T> {
case success(T)
case failure(Error)
}
extension Result {
var successResult: T? {
guard case let .success(value) = self else { return nil }
return value
}
}
什么类型的
结果
?我猜它是一个枚举,您需要使用switch语句。@AlexStone将该方法添加为扩展。除非是在一个无法编辑的图书馆里,否则我不会费心。坦率地说,我希望任何像样的结果
库都已经有了这样一个方法,一个提取错误的方法,还有一个map和flatMap。
result.successResult.map { duration in
// do something with duration
}