注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。
SwiftのfatalErrorとはでほんの少しだけguard
構文に触れていたが、しっかりとしたguard構文の説明を行なっていなかったので、今回はその説明をしたい。
guard
構文は、その条件式がfalse
の時に、異常系として処理を抜けるために使われる構文である。構文は以下の通りである。
guard 条件式 else {
return / break / continue / throw / fatalError() / fatalError(_:) のいずれかを含む(breakはswitch-case文またはループ/continueはループのみ使用可能)
}
基本的にはif
文医による実装での代替が可能であるが、多くの場合は以下の時に使われる。
- Optional型の変数を安全にアンラップする時
- Anyなどの汎用型の変数を安全に指定した型にキャストする時
- 処理等を行った時のエラーチェックを行う時
例えば、Optional型の変数を安全にアンラップする場合は以下が考えられる。
guard let url = URL(string: "https://www.google.com") else {
return
}
doSomething()
...
上記の場合は、URL
型を初期化する時を想定しているが、URL
型は通常はOptional型になるので、安全にアンラップする場合は上記のように行う。
他にも、guard
構文の書き方のパターンはあるが、また後ほど説明したい。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。