今日からでもすぐに取り入れられて、
- コードをよりクリーンにできる、とか
- 工数を削減できる、とか
そんなTipsを紹介していく記事シリーズです。
「知らなかった」「気づかなかった」「忘れていた」そんな誰かの役に立てば幸いです。
前提環境
- Xcode 11.3.1
- Swift 5.1.3
Tupleのswitch
var isWeekday = false
var isChildlen = false
var isSenior = false
switch (isWeekday, isChildlen, isSenior) {
case (true, true, _):
print("平日・子ども料金")
case (true, _, true):
print("平日・シルバー料金")
case (true, _, _):
print("平日・大人料金")
case (false, true, _):
print("休日・子ども料金")
case (false, _, true):
print("休日・シルバー料金")
case (false, _, _):
print("休日・大人料金")
}
- Swiftの
switch
は全ての組み合わせを網羅しないとコンパイルエラーにしてくれます。 - それはTupleを
switch
する場合も同様で、全要素が取りうる全組み合わせを網羅させることが容易になります。 - 可読性はあまりよくないので、「全ての組み合わせを網羅する」ことを最優先にしたい場合以外は避けた方が良い書き方かもしれません。