У меня есть основная функция (buttonPressed), которая должна распечатать Jsonfile.
func buttonPressed {
var jasonFile = JSON()
jasonFile = getInfo(parA: 5, parB: 10) //1. takes some time
print(jsonFile) //prints before the JSON is get from the internet
}
Чтобы получить Jsonfile, я создал функцию, которая принимает параметры, загружает информацию и возвращает Jsonfile.Конечно, это занимает довольно много времени, поэтому код в myFunction уже выполняется, даже если он не получил данные.
(я использую Alamofire и SwiftyJSON)
func getInfo(parA: Int, parB: Int) -> [Int] {
var thisJsonFile = JSON()
Alamofire.request(url, method: .get).validate().responseJSON { response in
switch response.result {
case .success(let value):
let json = JSON(value)
thisJsonFile = json
case .failure(let error):
print(error)
}
}
return thisJsonFile //returns an empty File
}
Есть лиспособ вернуть JsonFile после завершения загрузки?