【发布时间】:2020-09-26 12:57:50
【问题描述】:
我目前正在编写一个天气应用程序,我正在从 swift 上的 Udemy 教程中复制它。
我目前正在获取天气数据,所以我想要视频中所示的 Almofire 的请求。
作为初学者,这有点难以解释,所以我只显示代码:
import UIKit
import CoreLocation
import Alamofire
class WetterViewController: UIViewController, CLLocationManagerDelegate {
// MARK: Outlet
@IBOutlet weak var WetterImage: UIImageView!
@IBOutlet weak var temperatureLabel: UILabel!
@IBOutlet weak var StatusLabel: UILabel!
let WEATHER_URL = "http://api.openweathermap.org/data/2.5/weather"
let APP_ID = "3084f92d04fb27b6dd25f1a3a8afd221"
let locationManager = CLLocationManager()
override func viewDidLoad()
{
super.viewDidLoad()
// Latitude = Breitegrad
// longitude = Längengrad
//altitude = höhe
// accuray = genauigkeit
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters //Genauigkeit einstellen
locationManager.requestWhenInUseAuthorization() // Fragen ob position verwendet werden darf
locationManager.startUpdatingLocation() //Fängt an GPS location zu empfangen
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations[locations.count - 1]
print("Längengrad: \(location.coordinate.latitude)")
print("breitengrad: \(location.coordinate.longitude)")
let latitude = String(location.coordinate.latitude)
let longitude = String(location.coordinate.longitude)
let data : [String : String] = ["lat" : latitude , "lon" : longitude , "appid" : APP_ID]
}
func getWeatherData (url: String , data: [String: String]) {
Alamofire.request(url, method: .get, parameters: data) }
}
【问题讨论】:
-
最后一行说:Almofire.request 但是请求不被识别,我只能做Alomfire.Request,但这不是我需要的
-
在新的 alamo fire 版本中使用 AF.request
-
@marcuchka 你看过下面的答案了吗?我已经测试过了。
-
感谢@EssamMohamedFahmi 对其进行测试´!
-
现在我想写 func getWeatherData (url: String , data: [String: String]) { AF.request(url, method: .get, parameters: data).responseJSON { (response)在如果响应。结果。 (isSuccess 但它为什么不起作用?)