ios - 如何使用从 viewDidLoad 获取的信息设置 UIPickerView 值?

标签 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}

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

最佳答案

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

pickerView.reloadAllComponents()

来自文档:

Calling this method causes the picker view to query the delegate for new data for all components.

关于ios - 如何使用从 viewDidLoad 获取的信息设置 UIPickerView 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43926288/

相关文章:

iphone - 如何从互联网广播资源录制音频流?

ios - 带有属性字符串的电子邮件编辑器

ios - 获取不可见的 UITableViewCell

swift - UIColor 初始值设定项(无法找到接受 .... 的类型 'UIColor' 的初始值设定项)错误

swift - 如何在 Swift 3 中将 UTC 时间转换为本地时间?

ios - 在 PickerView IOS Swift 4.2 中从服务器加载数据

ios - 如果输出大于某个数字则打印行

ios - 为不同的iphone设置图像并调试

ios - 选择器 View 的替代方案

iphone - UIPickerView 禁用行选择