Получение и перенос значение температуры из URL


#1

Всем привет, возникает проблема, что когда вызываю функцию(раньше писал что функция возвращает стриг и создавал там переменную) всегда возвращалось пустое значение, посмотрел по breakPoints, что функция сначала не отрабатывает клоужер а потом только его обрабатывает но на экран выводится пустое значение, подскажите, что нужно дописать или полностью переписывать
Код поп получение данных из URL(oтдельный swift-file):
import Foundation
class testURL {

        func urlTemp(){
            let request = URLRequest(url: URL(string: "https://api.openweathermap.org/data/2.5/weather?lat=55.755864&lon=37.617698&appid=39d77d94f6ad258bdd4de81917ddab12")!)
            let task = URLSession.shared.dataTask(with: request) { data, response, error in
                if let data = data, let settings = try? JSONDecoder().decode(Weather.self, from: data) {
                    let tempURL = settings.main.temp
                 
                   
                }
            }
            task.resume()
        }
    }

В функцию нужно передать значение температуры(textLabel), функция входит в состав ViewController:
func tempText() {
let textTemp = UILabel()
textTemp.text =

textTemp.textColor = .white
view.addSubview(textTemp)
textTemp.font = .boldSystemFont(ofSize: 25)
textTemp.snp.makeConstraints { maker in
    maker.centerX.equalToSuperview()
    maker.centerY.equalToSuperview()
}

}


#2
func urlTemp(completion: (String?) -> ()) {
    ... {
        let tempURL = settings.main.temp
        completion(tempURL)
    } else {
        completion(nil)
    }
}

Во ViewController’e

swiftFile.urlTemp { [weak self] temp in
    self?.textTemp.text = temp ?? "No Data"
}

Если я правильно все понял