Я не могу обновить метки в представлении контейнера.Вот как я это сделал.
Я написал свою функцию updateWeather в главном VC и успешно извлек данные о погоде.когда я печатал weatherJSON, он отображал все полученные данные в консоли.
Теперь, когда я начал писать функцию updateUI, я мог обновлять только метки на главном VC.
, поэтому я использовал приготовление segue для отправки данныхк представлению контейнера и отправил строку в контейнер VC и успешно обновил метку «влажность».все метки принимают строки без каких-либо проблем.
, но я понятия не имею, как отправить данные о погоде в контейнер.
Я попытался передать значения с помощью объекта weatherDataModel, но ничего не происходит.я даже объявил новый объект, относящийся к классу представления контейнера, и использовал его в функции updateUI для установки значений меток, но он тоже не будет работать.
Я понятия не имею, что передать вместо строки, чтобы получить данные о погодедо следующего VC.
override func prepare(for segue: UIStoryboardSegue, sender for: Any?) {
if segue.identifier == "displayFullWeatherInfo"{
let destinationVC = segue.destination as! FullWeatherViewController
destinationVC.delegate = "\(weatherDataModel.pressure)"
....
....
Вот мой класс WeatherDataModel:
import Foundation
class WeatherDataModel{
var city = ""
var temp = 0
var country = ""
var humidity = 0
}
в моем главном VC я создал объект weatherDataModel и вот мой код updateWeatherInfo:
func updateWeatherInfo(json : JSON){
if let tempDefault = json["data"][0]["temp"].double{
weatherDataModel.temp = Int(tempDefault)
weatherDataModel.city = json["data"][0["city_name"].stringValue
weatherDataModel.country = json["data"][0]["country_code"].stringValue
weatherDataModel.humidity = json["data"][0]["rh"].intValue
updateWeatherUI()
}
else{
currentLocation.text = "Not Available"
}
}
1022 *