gpt4 book ai didi

ios - 无法将类型 'Response' 的值转换为闭包结果类型 'NSDictionary'

转载 作者:行者123 更新时间:2023-11-28 06:35:35 25 4
gpt4 key购买 nike

class AlamofireService {


static let alamofireService = AlamofireService()


private init() {

}

internal func makePostServiceRequest(url: String, parameters: AnyObject, completion: (inner: () throws -> NSDictionary) -> Void) -> Void{


Alamofire.request(.POST, URL_BASE, parameters: [IOS_PARAMS : parameters], encoding:.JSON).validate()
.responseJSON

{
response in switch response.result
{
case .Success(let JSON):
print("Success with JSON: \(JSON)")


let response = JSON as! NSDictionary
print(response)

completion(inner: { return response })



case .Failure(let error):
print("Request failed with error: \(error)")
completion(inner: { throw error })

}
}
}



internal func makeGetServiceRequestTemplates(completion: (inner: () throws -> NSDictionary) -> Void) ->Void {

Alamofire.request(.GET, URl_TEMPLATES).validate().responseJSON

{
response in switch response.result
{
case .Success(let JSON):
print("Success with JSON: \(JSON)")



if let array = JSON as? [Dictionary<String, AnyObject>] {

for var i=0; i < array.count; i++ {

let templates = Mapper<VQuizTemplateTo>().map(array[i])
print(templates)

}


}
completion(inner: { return response }) //error is on this line


case .Failure(let error):
print("Request failed with error: \(error)")
completion(inner: { throw error })
}

}
}

两个相同的方法,第一个没有错误,第二个是我标记的地方。无法弄清楚出了什么问题,尤其是这个无意义的错误。你能告诉我我做错了什么吗?

最佳答案

response您返回的类型是 Response<AnyObject, NSError> ,这就是您收到该错误的原因..

尝试返回这个 response.result.value as! NSDictionary

只需替换completion(inner: { return response })

completion(inner: { return response.result.value as! NSDictionary })

关于ios - 无法将类型 'Response<AnyObject, NSError>' 的值转换为闭包结果类型 'NSDictionary',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39187757/

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