使用未声明的类型' SignalProducerType

时间:2018-02-23 11:17:13

标签: ios swift reactive-cocoa reactive-swift

我是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))
        }
    }
}

1 个答案:

答案 0 :(得分:1)

SignalProducerType不再存在。它已重命名为SignalProducerProtocol,但它不再用于添加运算符。 This ought to just be an extension on SignalProducer itself

  

现在,所有Signal和SignalProducer运算符都属于各自的具体类型。 (#304)

     

自定义运算符应直接扩展具体类型。 SignalProtocol和SignalProducerProtocol只能用于约束相关类型。