我有一个主要功能(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 完成加载后返回它?