如何使用从viewDidLoad获得的信息设置UIPickerView值?

时间:2017-05-11 22:02:30

标签: ios swift uipickerview

我想根据选择器函数设置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}

我已将该功能保留为通用形式,因为它们的确切代码对于该问题并不重要。我遇到的一般问题是,函数中的值应该基于从DB中提取的信息。我有一个函数设置为在viewDidLoad()中调用以提取信息。我的问题是,基本上,在调用viewDidLoad()函数之前,是否会调用pickerView中的函数(从而获取信息)?在viewDidLoad()函数运行之前,我需要知道pickerView查询是否可以提取pickerView函数使用的信息。如果之后发生,则函数将不具有所需的数据。我该如何设置?

1 个答案:

答案 0 :(得分:1)

数据库查询完成后,只需重新加载选择器:

pickerView.reloadAllComponents()

来自文档:

  

调用此方法会导致选择器视图查询委托   所有组件的新数据。