我可以获取JSON数据,但我无法将JSON数据添加到abcArr
。我已计算abcArr
中的0
女巫为viewDidLoad()
。
我在下面复制编码。
感谢您的帮助。
我的编码:
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
}
}
}
答案 0 :(得分:0)
感谢您解决Vadian。
将行打印(abcArr.count)放在完成处理程序的末尾。
class MapDetailViewController: UIViewController {
var abcArr = [String]()
override func viewDidLoad() {
super.viewDidLoad()
getInfo()
}
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")
}
print("1: \(abcArr.count)")// display abcArr of count
}
print("2: \(abcArr.count)")// display abcArr of count
}).resume()
}
}
}
我的JSON:
{
return: [{
lat: "1111",
}]
}