UIPickerView.selectedRowInComponent中的“组件”是什么意思?

All*_*Bah 4 uipickerview ios swift

我想在Xcode中使用Swift,我要制作:

1)A PICKER,来自数组的数据

2)A BUTTON,当按下时,将LABEL使用来自选定行的文本更新aPICKER

我的代码当前:

var array = ["Sydney", "London", "Washington", "Tokyo", "San Francisco"]

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return array.count
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
    return array[row]
}

@IBOutlet weak var PICKER: UIPickerView!

@IBOutlet weak var LABEL: UILabel!

@IBAction func BUTTON(sender: AnyObject) {
    LABEL.text = array[PICKER.selectedRowInComponent(0)]
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切正常。但是我有两个问题:

1)我应该把“ 0”放进去PICKER.selectedRowInComponent吗?这是什么意思?因为没有数字或任何其他数字都无法正常工作。这不是只选择第一行(而不是选择用户选择的行)吗?

2)如何PICKER在应用加载时默认显示数组的中间项而不显示第一项(例如,Washington在这种情况下)?

Rob*_*ier 5

捡拾器可以有多个轮子(组件)。例如,对于每个数字,您可能有单独的轮子,或者您可能有日,月和年轮子。它们从0开始编号。因此“组件0”只是第一个轮子(您只有一个)。

通过调用来选择行selectRow(inComponent:animated:)