Быстро: Несколько интервалов в единственном случае переключателя с помощью кортежа

Имейте код как:

switch (indexPath.section, indexPath.row) {
    case (0, 1...5): println("in range")
    default: println("not at all")
}

Вопросом является банка, я использую несколько интервалов во втором значении кортежа?

для переключателя некортежа это может быть сделано довольно легко как

switch indexPath.section {
case 0:
    switch indexPath.row {
    case 1...5, 8...10, 30...33: println("in range")
    default: println("not at all")
    }
default: println("wrong section \(indexPath.section)")
}

Какой разделитель я должен использовать для разделения моих интервалов в кортеже, или он просто не собирается работать на переключатели кортежа, и я должен использовать переключатель в переключателе?Спасибо!

62
задан 6 August 2014 в 20:06

1 ответ

Необходимо перечислить несколько кортежей на верхнем уровне:

switch (indexPath.section, indexPath.row) {
    case (0, 1...5), (0, 8...10), (0, 30...33):
        println("in range")
    case (0, _):
        println("not at all")
    default:
        println("wrong section \(indexPath.section)")
}
136
ответ дан 31 October 2019 в 13:42

Другие вопросы по тегам:

Похожие вопросы: