我的錯誤應該是相當明顯的,但我找不到它;Json和變量範圍
我一個全局變量初始化我的課的開頭:
class InscriptionStageViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
var lesSemaines = [String]()
我嘗試使用該功能
func getSemainesStages(){
let url = URL(string: "http://www.boisdelacambre.be/ios/json/semaines.json")
let task = URLSession.shared.dataTask(with: url!){ (data, response, error) in
if let content = data {
do {
let myJson = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
let listeSemaines = myJson["semaine"] as! [[String:AnyObject]]
//print(listeSemaines)
for i in 0...listeSemaines.count-1 {
var tabSem = listeSemaines[i]
let intituleSemaine:String = tabSem["intitule"] as! String
//let dateSemaine:String = tabSem["date"] as! String
DispatchQueue.main.sync
{
self.lesSemaines.append(intituleSemaine)
}
}
} catch
{
print("erreur Json")
}
}
}
task.resume()
}
當我打電話來填充這個數組有一個遙遠的JSON文件我函數在viewDidLoad,然後我打印我的全局數組,它是空的(URL是正確的,json數據被正確讀取,當我讀取循環中數組附加的數據時,它會打印(所需)值。 )
在此先感謝
當你閱讀'lesSemaines'?因爲我猜你的問題是由於代碼的異步部分。 – Larme
這是什麼問題?陣列是空的? –
在我的viewDidLoad中,我調用函數,然後嘗試打印數組,它是空的(當我直接在函數中打印它時,OK) –