Я работаю над погодным приложением iOS с модулем API Alamofire. Я написал код для получения информации из сети для обновления погоды, и я получаю ее, когда печатаю ее сразу после получения информации, но я не могу получить эту информацию, чтобы показать ее в контроллере.Проект Alamofire, где я получаю ответ в моей текущей функции, но не в другом родительском классе
Вот код.
public var cityName:String{
if _cityName==nil{
_cityName = "Didn't find any"
}
return _cityName
}
public var weatherType:String{
if _weatherType==nil{
_weatherType="oops"
}
return _weatherType
}
public var currentTemp: Double{
if _currentTemp==nil{
_currentTemp=0.0
}
return _currentTemp
}
public var date: String{
if _date==nil{
_date=""
}
let dateFormatter=DateFormatter()
dateFormatter.dateStyle = .long
dateFormatter.timeStyle = .none
let currentDate = dateFormatter.string(from: Date())
self._date = "Today, \(currentDate)"
return _date
}
func downloadWeatherDetails(completed: DownloadComplete){
let currentWeatherURL = URL(string: CURRENT_WEATHER_URL)!
Alamofire.request(currentWeatherURL).responseJSON{
response in
let result = response.result
if let dict = result.value as? Dictionary<String, AnyObject>{
if let name = dict["name"]as? String{
self._cityName=name.capitalized
print(self._cityName)
}
if let weather = dict["weather"]as? [Dictionary<String, AnyObject>]{
if let main = weather[0]["main"] as? String{
self._weatherType=main.capitalized
print(self._weatherType)
}
}
if let main = dict["main"] as? Dictionary<String, AnyObject>{
if let currentTemp = main["temp"] as? Double{
let kelvintoCelcius = (currentTemp - 273.15)
self._currentTemp=kelvintoCelcius
print(self._currentTemp)
}
}
}
}
completed()
}
Вы не заходящего любой текст метки. Как вы хотите, чтобы View Controller показывал его, если вы не сказали ему? –
Запрос isync. Почему вы называете 'complete()' no в закрытии Alamofire? – Larme
@JuanCurti Как установить любой текст ярлыка? –