2017-04-03 56 views
-4

我有一個函數getSemainesStages(),它讀取一個遙遠的json文件並將結果放入一個(全局範圍)數組中。從異步Json數組設置pickerView

問題是它是異步的,像有人向我解釋,我需要這個數組來填充一個pickerView數據源。

所以,當我打電話:

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
     return lesSemaines.count 
    } 

的陣列仍然是空的,與同爲

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
     return lesSemaines[row] 
    } 

我如何能做到這一點只有在我的getSemainesStages()函數是空的?

+0

請不要問多個問題[一個專題](http://stackoverflow.com/questions/43184215/json和變量作用域)和[搜索](http://stackoverflow.com/a/3206956/1457385)發佈問題之前。 – shallowThought

回答

0

您可以撥打UIPickerView.reloadAllComponents()數組已被填充到重裝部分/行後:

var lesSemaines: [String] { 
    didSet { 
     pickerView.reloadAllComponents() 
    } 
}