2017-05-11 28 views
2

我想基於揀貨機功能一個UIPickerView設置初始值:如何使用從viewDidLoad獲取的信息設置UIPickerView值?

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {//return number} 
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {//return String} 
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {//return number} 

我已經離開以普通形式的功能,因爲他們的確切的代碼是不是這個問題很重要。我所遇到的一般問題是,函數中的值應該基於從數據庫中提取的信息。我有一個在viewDidLoad()中調用的函數,用於提取信息。我的問題是,在調用pickerView函數之前,基本上會調用viewDidLoad()中的函數(並因此獲取信息)?我需要知道viewDidLoad()查詢是否可以在pickerView函數運行之前提取pickerView函數使用的信息。如果事後發生,這些功能將沒有他們需要的數據。我如何設置?

回答

1

當數據庫查詢完成後,只需重新加載選擇器:

pickerView.reloadAllComponents() 

從文檔:

調用此方法會導致選擇器視圖查詢委託對所有 新數據組件。