【Swift】if letについて

Swift

if let について

if letとは

if let とは「nilチェックとアンラップ処理をやってくれる便利な仕組み」です。
使用するメリットとしては、以下になります。

・アンラップを行なってくれる
・同時にnilチェックをしてくれる
・毎回「!」でアンラップする必要がない

以下、if let参考例。

if let apple = a {
   // aがnilで無い場合の処理
    print(apple)
} else {
    // aがnilの場合の処理
}

上記コードがやっていることとしては以下のようなイメージ。

if a != nil {
    let apple = a!
    print(apple)
} else {
    // aがnilの場合の処理
}

自分メモ

・「if let」は、appleに「ヌルじゃないa」を代入する
・if文なので「ヌルじゃないなら〜」「ヌルなら〜」とチェックできる

guard let

「if let」と同じくnilチェックする方法で「guard let」というやり方もある。
「guard let」はnilだったらのエラーとして扱うケースに使える
以下、guard let参考例。

let hoge: String? = nil //`hoge`の中身は`nil`

guard let fuga = hoge else { return } //`hoge`は`nil`なのでreturnされる
//`hoge`が`nil`ではなかった時の後続処理…

参考サイト

Swiftのif let って、つまり、何? - Qiita
前書きObjective-CからSwiftいじりはじめて、Xcodeちゃんの補完で「なんじゃこりゃ!?」」って思った。調べると色々出たけど、「つまり何よ?」ってのをパッと答えてくれるページが見つ…
guard letとif letの使い分け - Qiita
guard letこれ以上処理を進めたくない場合に使用します。nilが入っていたらエラーとして扱うケースだった場合などによく使います。let hoge: String? = nil //`ho…

コメント

タイトルとURLをコピーしました