我是ReactiveCocoa和ReactiveSwift的新手, 更新代码之后,我有更新代码从Swift2到Swift4的任务我陷入了一个问题,我遇到了错误#34;使用未声明的类型' SignalProducerType'"没找到我们有替代方案吗? 请帮我解决这个问题 我正在使用ReactiveCocoa 7.1.0
extension SignalProducerType where Value == HTTPOperationResult,Error == APIError { func serializeToJSON() -> SignalProducer { return attemptMap { result in guard let data = result.data else { return .failure(APIError.parseError("invalid json")) } guard let JSON = try? JSONSerialization.jsonObject(with: data, options: []) else { return .failure(APIError.parseError("invalid json")) } return .success((result,JSON)) } } }
答案 0 :(得分:1)
SignalProducerType
不再存在。它已重命名为SignalProducerProtocol
,但它不再用于添加运算符。 This ought to just be an extension on SignalProducer
itself:
现在,所有Signal和SignalProducer运算符都属于各自的具体类型。 (#304)
自定义运算符应直接扩展具体类型。 SignalProtocol和SignalProducerProtocol只能用于约束相关类型。