我有2个UIPickerView
个不同的数据源数组。我的问题是我无法弄清楚如何将两个数据源显示到我的2个选择器视图中。
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return firstArray[row]
}
如何将我的两个数据源都返回到我的选择器视图?逻辑解决方案是识别是否点击了第一个选择器视图,使用firstArray
作为数据源,如果点击了第二个选择器视图,则使用另一个数组。
指导我使用哪些属性和方法。
答案 0 :(得分:2)
最简单的方法是将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
}
}
}