web-dev-qa-db-ja.com

Swift:タプルを使用した単一のスイッチケースでの複数の間隔

次のようなコードがあります:

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

質問は、2番目のTuple値で複数の間隔を使用できますか?

タプル以外のスイッチの場合、次のように簡単に実行できます。

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

Tuple内で間隔を区切るために使用するセパレーターはどれですか?それはTupleスイッチでは機能しないだけで、スイッチ内でswitchを使用する必要がありますか?ありがとう!

62
iiFreeman

最上位に複数のタプルをリストする必要があります。

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