gpt4 book ai didi

ios - 使用swift 5请求AlamoFire网址

转载 作者:行者123 更新时间:2023-12-01 16:11:51 25 4
gpt4 key购买 nike

我只是发现这种方法可以追溯到我将AlamoFire.request更改为AF.request并将.responseSwiftyJSON { (dataResponse) in更改为.responseJSON(completionHandler: { (dataResponse) in的过程,但是确实在尝试使用它,我对alamoFire并不熟悉,这是我第一次使用它,任何人都可以更新这种从AlamoFire请求URL的方法
我只是面对这些错误

1-由于“内部”保护级别,无法访问“isSuccess”

2-“结果”类型的值没有成员“值”

3-由于“内部”保护级别,无法访问“isFailure”

4-类型“结果”的值没有成员“错误”

@objc func searchPlaces(query: String) {
let urlStr = "\(MapBox.mapbox_api)\(query).json?access_token=\(MapBox.mapbox_access_token)"

AF.request(urlStr, method: .get, parameters: nil, encoding: URLEncoding.default, headers: nil).responseJSON(completionHandler: { (dataResponse) in

if dataResponse.result.isSuccess {
let resJson = JSON(dataResponse.result.value!)
if let myjson = resJson["features"].array {
for itemobj in myjson ?? [] {
try? print(itemobj.rawData())
do {
let place = try self.decoder.decode(Feature.self, from: itemobj.rawData())
self.searchedPlaces.add(place)
self.tableView.reloadData()
} catch let error {
if let error = error as? DecodingError {
print(error.errorDescription)
}
}
}
}
}

if dataResponse.result.isFailure {
let error : Error = dataResponse.result.error!
}

})

}

最佳答案

对于isSuccess(1)和isFailure(3),您实际上可以打开response.result。对于响应结果中的value(2),您可以在response.value下找到它,最后但并非最不重要的是,开关中提供了error(4),请检查下面的示例代码,突出显示所有相关信息以编写代码工作:

AF.request(urlStr, method: .get, parameters: nil, encoding: URLEncoding.default, headers: nil)
.responseJSON(completionHandler: { response in
switch response.result {
case .success:
let resJSON = JSON(response.value)
...
case .failure(let error):
print(error)
}
})

关于ios - 使用swift 5请求AlamoFire网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62392144/

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