webentwicklung-frage-antwort-db.com.de

Swift: Mehrere Intervalle in einem Schaltergehäuse mit Tupel

Habe einen Code wie:

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

Die Frage ist, ob ich im zweiten Tupel-Wert mehrere Intervalle verwenden kann?

für Nicht-Tuple-Schalter kann es ziemlich einfach gemacht werden

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)")
}

Welches Trennzeichen sollte ich verwenden, um meine Intervalle innerhalb von Tuple zu trennen, oder es wird für Tuple-Schalter einfach nicht funktionieren und ich muss switch inside switch verwenden? Vielen Dank!

62
iiFreeman

Sie müssen mehrere Tupel auf der obersten Ebene auflisten:

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)")
}
135
drewag