我有 2 个具有不同数据源数组的 UIPickerView
。我的问题是我无法弄清楚如何将两个数据源显示到我的 2 个选择器 View 中。
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return firstArray[row]
}
如何将我的两个数据源返回到我的选择器 View ?合乎逻辑的解决方案是识别第一个选择器 View 是否被点击,使用 firstArray
作为数据源,如果第二个选择器 View 被点击,则使用另一个数组。
请指导我使用哪些属性和方法。
最佳答案
最简单的方法是在类的顶部将两个 UIPickerView
声明为 @IBOutlet
存储属性(确保在 StoryBoard 中正确链接它们):
class MyVC: UIViewController, UIPickerViewDataSource {
@IBOutlet weak var picker1: UIPickerView?
@IBOutlet weak var picker2: UIPickerView?
/* set up the delegates ... */
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
switch pickerView {
case picker1: return firstArray[row]
case picker2: return secondArray[row]
default: /* print an error or assertion failure */ return nil
}
}
}
关于swift - 共享数据源时如何识别哪个 UIPickerView 收到事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32543034/