для цикла в titleForRow в pickerView не работает - PullRequest
0 голосов
/ 04 ноября 2019

Я создавал виджет выбора часов и использовал следующее:

var countSec = Array(0...10)
var countMin = Array(0...59)
var countHour = Array(0...59)

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    if component == 0{
        for count in countSec {
            return "\(count)"
        }
    }else{
        for count in countMin{
            return "\(count)"
        }
    }
    return nil
}

Но при запуске все данные были равны 0 с.

1 Ответ

1 голос
/ 04 ноября 2019

Не используйте петли в titleForRow. Просто верните соответствующее значение для запрошенной строки.

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    if component == 0 {
        return "\(countSec[row])"
    } else {
        return "\(countMin[row])"
    }
}
...