【发布时间】:2016-11-14 05:29:45
【问题描述】:
我想在 SignalProducerType 上创建扩展,如下所示。
extension SignalProducerType{
func mapR() -> SignalProducer<[String:AnyObject], XError> {
return attemptMap { (value: [String:AnyObject]) -> Result<[String:AnyObject], XError> in
return Result(value: ["1":1])
}
}
}
XError 被定义为 ErrorType
public enum XError: ErrorType{
case Invalid
case Unsuccessful
}
但这不会编译并且错误是。
'attemptMap' 产生'SignalProducer',而不是 预期的上下文结果类型 'Result' (又名“结果,XError>”)
【问题讨论】:
-
您没有从 mapR 方法返回预期类型。如果返回 Result,那么应该没问题,因为尝试映射返回该类型。
标签: swift swift2 reactive-cocoa reactive-cocoa-3 reactive-cocoa-4