我可以獲取JSON數據,但我無法將JSON數據添加到abcArr
。我在viewDidLoad()
中統計abcArr
女巫爲0
。從函數中獲取數據不能在swift中工作3
我在下面複製編碼。
謝謝你的幫助。
我的編碼:
class MapDetailViewController: UIViewController {
var abcArr = [String]()
override func viewDidLoad() {
super.viewDidLoad()
getInfo()
print("1: \(abcArr.count)")//output = 0
}
func getInfo() {
//MARK: get News data JSON
jsonURL = "http://json/abc.json"
if let url = NSURL(string: jsonURL) {
URLSession.shared.dataTask(with: url as URL, completionHandler: { (data, response, error) in
if let error = error {
print("Error: \(error.localizedDescription)")
} else {
if let data = data {
let json = JSON(data: data)
let jsonReturn = json["return"]
let abc = jsonReturn[i]["Lat"]
abcArr.append(abc)
} else {
print("no JSON data")
}
}
}).resume()
print("2: \(abcArr.count)")//output = 0
}
}
}
凡要訪問這個'abcArr'陣列 –
我編輯我的編碼。謝謝您的提醒 – ShingHung
這是一個常見的誤解。 'dataTask'異步工作。數據稍後返回。將「print(abcArr.count)'行放在完成句柄的末尾。 – vadian