Я пробовал несколько раз, но никаких подсказок. Проблема заключается в том, что когда город вводится в Google Place Picker в первый раз, на консоль выводятся все полученные данные о погоде в формате json (это означает, что вызывается как функция текущей погоды, так и функция прогноза погоды), но когда вводится город во второй раз вызывается только функция данных о текущей погоде, но функция данных о прогнозе погоды не выполняется, а tableView показывает данные из предыдущего города, поскольку прогноз погоды не выполнялся во второй раз.
// function below calls both functions when user enters city
func userEnteredCity(city: String, placeId: String)
{
let parameters :[String:String] = ["q": city, "appid": APP_ID]
getWeather(weatherUrl: Current_WEATHER_URL, params: parameters)
weatherForecast(weatherUrl: Forecast_WEATHER_URL, params: parameters)
loadFirstPhotoForPlace(placeID: placeId)
}
/* getWeather provides currentWeather and weatherForecast provide forecast data functions have been defined below*/
func weatherForecast(weatherUrl: String, params: [String:String])
{
Alamofire.request(weatherUrl, method: .get, parameters: params).responseJSON
{
(response) in
let result = response.result
if let dictionary = result.value as? Dictionary<String, AnyObject>
{
if let list = dictionary["list"] as? [Dictionary<String, AnyObject>]
{
for item in list {
print(item)
let forecast = ForecastData(weatherDict: item)
self.forecastArray.append(forecast)
}
self.weatherTable.reloadData()
}
}
}
}
Пожалуйста, помогите мне в этом вопросе.