使用swift 5请求AlamoFire网址

问题描述 投票:0回答:1

[我刚刚发现此方法写回了,我将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!
            }

            })

    }
ios swift xcode url alamofire
1个回答
0
投票
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) } })
© www.soinside.com 2019 - 2024. All rights reserved.