我正在为 DataRequest 创建扩展以记录事件
func log() -> Self {
let responseSerializer = DataRequest.jsonResponseSerializer(options: .allowFragments)
return response(queue: nil, responseSerializer: responseSerializer) { response in
if let object = response.result.value {
/* do the job */
}
}
}
得到错误Unable to infer closure type in the current context
因为它有 (DataResponse<T.SerializedObject>) -> Void
通用类型,有没有办法显式设置类型来修复这个错误?
Alamofire 版本: 4.7.2 Xcode 版本: 9.3 Swift 版本: 4.0 运行 Alamofire 的平台: iOS
最佳答案
func log() -> Self {
let responseSerializer = DataRequest.jsonResponseSerializer()
return response(responseSerializer: responseSerializer) { [weak self] response in
guard let _self = self else { return }
_self.printRequestString(response)
}
}
效果很好。
关于ios - Alamofire 无法推断当前上下文中的闭包类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50583101/