我想從外部的JSON文件,這是一個Web服務器,它取得了一個字符串,它取得了成功,但它是在一個封閉的地方,它得到的價值,和我需要把它弄到外面,所以我可以用變量returnip來返回它。我該怎麼做?返回變量指定內部封閉 - 斯威夫特
func getJsonFromUrl() -> String {
let URL2 = "https://url.com/asd.php";
let url = URL(string: URL2)
URLSession.shared.dataTask(with:url!) { (data, response, error) in
if error != nil {
print(error as Any)
} else {
do {
let parsedData = try JSONSerialization.jsonObject(with: data!) as! [String:Any]
let ips = parsedData["ip"] as! String
print("The IP is: " + ips) //Prints the value correctly
var returnip = ips //The value that I want to return, that does not go outside this closure
} catch let error as NSError {
print(error)
}
}
}.resume()
return returnip //Does not return anything
}
感謝
你不能做這種方式。 Web調用是異步的。返回將在URL調用完成之前發生。 – ryantxr