gpt4 book ai didi

swift - Alamofire v4 使用未声明的类型响应

转载 作者:搜寻专家 更新时间:2023-10-31 08:25:23 24 4
gpt4 key购买 nike

当我更新到 Alamofire v4 时,出现了两个错误。

第一个是 use of undeclared type response 我从这一行得到:

func responseSavedAdsArray(_ completionHandler: (Response<SavedAdsWrapper, NSError>) ->

第二个错误是使用未解析的标识符 ResponseSerializer,这是我从这一行得到的:

let responseSerializer = ResponseSerializer<SavedAdsWrapper, NSError> { request, response, data, error in

这是我所有的代码:

extension Alamofire.Request {
func responseSavedArray(_ completionHandler: (Response<SavedWrapper, NSError>) -> Void) -> Self {
let responseSerializer = ResponseSerializer<SavedWrapper, NSError> { request, response, data, error in
guard error == nil else {
return .Failure(error!)
}
guard let responseData = data else {
let failureReason = "Array could not be serialized because input data was nil."
let userInfo: Dictionary<NSObject, AnyObject> = [NSLocalizedFailureReasonErrorKey: failureReason, Error.UserInfoKeys.StatusCode: response!.statusCode]
let error = NSError(domain: Error.Domain, code: Error.Code.StatusCodeValidationFailed.rawValue, userInfo: userInfo)
return .Failure(error)
}

let JSONResponseSerializer = Request.JSONResponseSerializer(options: .AllowFragments)
let result = JSONResponseSerializer.serializeResponse(request, response, responseData, error)

switch result {
case .Success(let value):
let json = JSON(value)
let wrapper = SavedWrapper()

wrapper.next = json["saveditems"]["next_page_url"].stringValue
wrapper.previous = json["saveditems"]["prev_page_url"].stringValue
wrapper.count = json["saveditems"]["total"].intValue

var allSaved:Array = Array<Saved>()
print(json)
let results = json["saveditems"]["data"]
print(results)
for jsonAdata in results
{

let adsJData = SavedAds(json: jsonAdata.1, id: Int(jsonAdata.0))
allSaved.append(adsJData)
}
wrapper.saveditems = allSaved
return .Success(wrapper)
case .Failure(let error):
return .Failure(error)
}
}

return response(responseSerializer: responseSerializer,
completionHandler: completionHandler)
}
}

那么是什么原因造成的呢?

最佳答案

先改变

func responseSavedAdsArray(_ completionHandler: (Response<SavedAdsWrapper, NSError>) ->

func responseSavedAdsArray(_ completionHandler: (DataResponse<SavedAdsWrapper>) ->

已编辑

let responseSerializer = ResponseSerializer<SavedAdsWrapper, NSError> { request, response, data, error in

let responseSerializer = DataResponseSerializer<SavedAdsWrapper> { request, response, data, error in

关于swift - Alamofire v4 使用未声明的类型响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39833234/

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