页面加载选取器视图数据,并在设置输入视图UITextView
。但是,当页面加载时,当我将选取器视图的selectedRow
设置为数据库中的值时,我希望会引发以下委托。
pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
提到了一种解决方法,即添加虚拟行作为第一行,但是如果这不是一个选项并且只有一行,那么还有其他方法可以实现它吗?
来自文档(强调我的):
当用户 选择组件中的行时,由选取器视图调用。
这意味着如果您使用代码选择一行,则不会调用该方法,这可能是您在此处尝试执行的操作("我将选取器视图的 selectedRow 设置为数据库中的值")。
如果你想这么狠狠地打电话didSelectRow
,就打电话吧!
pickerView(pickerView, didSelectRow: yourRow, inComponent: yourComponent)
或者,如果您不喜欢自己调用委托方法,因为它们"应该"由其他类调用,则可以将委托方法中的代码提取到您自己的方法中,然后调用它。