gpt4 book ai didi

swift - Alamofire 4 - 无法调用非函数类型 HTTPURLResponse 的值

转载 作者:行者123 更新时间:2023-11-30 12:36:49 24 4
gpt4 key购买 nike

我正在将我的应用程序更新到 Swift 3,并使用 Alamofire 处理对 REST 服务器的 API 调用。这是我的功能:

extension Alamofire.Request {
func responseAllCareers(_ username: String, password: String, completionHandler: @escaping (DataResponse<Careers>) -> Void) -> Self {
let responseSerializer = DataResponseSerializer<Careers> { request, response, data, error in

guard error == nil else {
return .failure(BackendError.network(error: error!))
}

let JSONResponseSerializer = DataRequest.jsonResponseSerializer(options: .allowFragments)
let result = JSONResponseSerializer.serializeResponse(request, response, data, error)

guard case let .success(jsonObject) = result else {
return .failure(BackendError.jsonSerialization(error: result.error!))
}

switch result {
case .success(let value):
let api: APIMessage = APIMessage(json: value as! JSON)!
var careers: Careers = Careers()

// check for correct credentials
if api.result != "failure" {
careers = Careers(json: value as! JSON)
CacheManager.sharedInstance.storeCredentials(username, password: password)
CacheManager.sharedInstance.storeJsonInCacheByKey(CacheManager.CAREERS, json: value as! JSON)
careers.areCredentialsValid = true
}
return .success(careers)
case .failure(let error):
return .failure(error)
}
}
return response(responseSerializer: responseSerializer, completionHandler: completionHandler)
}

我在最后一个返回行收到无法调用非函数类型“HTTPURLResponse”的值错误,但我无法找出原因。

最佳答案

您正在尝试使用值而不是类型来初始化响应

response(responseSerializer: responseSerializer, completionHandler: completionHandler)

其中实际上response是一个实例化常量。第二个问题是该函数应该返回 Alamofire.Request 类型,而不是 HTTPURLResponse 类型。

关于swift - Alamofire 4 - 无法调用非函数类型 HTTPURLResponse 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42758424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com