Когда я пересекаю этот UIPickerView сверху вниз, строка сообщается правильно для каждого элемента. Однако, перебирая UIPickerView снизу вверх, при нажатии «Вариант 3» строка сбрасывается в ноль, где она должна быть на самом деле 2. Я добавила метку для визуального доказательства - она мигает «2», затем сбрасывает себя в ноль при обходе UIPickerView, как описано. Очевидно, что неспособность зависеть от отношения между элементом отображения и фактической точностью строки разрушает вещи. Не знаю, почему это не работает ...
class ViewController3: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet weak var picker: UIPickerView!
@IBOutlet weak var textLabel: UILabel!
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return 4
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView,titleForRow row: Int,forComponent component: Int) -> String? {
textLabel.text = String(row)
return pickerValues[row]
}
let pickerValues = ["Choice 1", "Choice 2", "Choice 3","Choice 4"]