web-dev-qa-db-ja.com

Swift switch caseステートメントに複数の引数を含めることはできますか?

ケースを列挙型に設定した場合、switchステートメントでそれらのケースを複数呼び出すことはできますか?別名case .a, .b: return true

enum myLetters {
  case a
  case b
  case c

    var myCondition: Bool {
      switch self {
      case .a, .b: return true
      case .c: return false
      default: return false
    }
  }
}
8

はい、switchステートメントのSwiftの ドキュメント を見てください。

目的を達成するには、myLettersの現在の値を確認する必要があります。

var myCondition: Bool {
    switch self {
    case .a, .b: return true
    case .c: return false
    }
}
14
Moe

同じ関連付けられた値のケースをグループ化する場合は、次のようにすることができます。

var myCondition: Bool {
  switch self {
  case .a(let value), .b(let value): return value
  case .c(let value1, let value2): // do stuff with value1 and value 2
  }
}

残念ながら、現在、letステートメントを1つのステートメントに結合することはできません。

3
danielhadar