
【Swift】【初心者用】nilを排除する方法
はいどうも!
フリーランスエンジニアの南だいすけです!
今日はSwiftのnilを排除する方法について書きたいと思います。
これの方法は主に2つあって
1. if let を使う方法
2. guard let を使う方法
に分けて説明したいと思います!
また以下二つのコードはif文で書くこれと同じことをしています。
if hoge == nil {
print(“nilだよ”)
} else {
aaaLabel.text = hoge
}
if letとは
nil許容しているのもを
nilじゃなかったら〜する。nilだったら〜するみたいな感じで、
見ての通りif文のように使うことが出来ます。
そのためnilだった時の処理をちゃんと書く場合などには、こちらがおすすめです。
if letの書き方
let hogeOrNil: String? = nil //hogeの中身はnil
if let hoge = hogeOrNil {
print(“nilじゃないよ”)
aaaLabel.text = hoge
} else {
print(“nilだよ”)
}
と言った感じです。
前提としてhogeOrNilはオプショナル型なのでnilの可能性があります。
(と言うか初期値はnilで宣言している)
ではif let以降を日本語にしてみましょう!
hogeOrNilがnilじゃなかったら"nilじゃないよ"とprintして、
aaaLabelのtextをhogeにしてね。
hogeOrNilがnilだったら"nilだよ"とprintしてね。
こんな感じです!
そもそもの形としては以下で覚えてしまいましょう!
if let Aがnilじゃなかった場合に使う変数 = A {
}
guard letとは
こちらはnilだったらそのまま処理終了!みたいな場合に使うのがおすすめです。
guard letの書き方
let hogeOrNil: String? = nil //hogeの中身はnil
guard let hoge = hogeOrNil else { return }
aaaLabel.text = hoge
と言った感じです。
ではguard let以降を日本語にしてみます!
hogeOrNilがnilだったら終了!(returnと言うこと)
nilじゃなかったらaaaLabelのtextをhogeにしてね。
こんな感じです!
こちらもif letと書き方の基礎的な感じは一緒で、
hogeOrNilがnilじゃない時はhogeとして扱います。
またこんな感じで繋げて書いても大丈夫です!
let hogeOrNil: String? = nil
let fugaOrNil: String? = nil
guard let hoge = hogeOrNil, let fuga = fugaOrNil else { return }
aaaLabel.text = hoge
bbbLabel.text = fuga
こんな感じでnilチェックをして、安全なコードを書いていきましょう!
さいごに
プログラミングって難しいですよね。。
僕も文系大学を出て、全くの未経験からスタートしたので
気持ちは痛いほどよくわかります。。!
少しずつ勉強していけば知識が蓄積され、
いつかはそれが線として繋がる日が絶対きます!!
一緒にがんばっていきましょう!
この記事で少しでも初心者の方が、
「お!そういうことか!」とか「ちょっとわかったぞ!!」
っとなっていただけたら幸いです。
最後まで見ていただきありがとうございました!
ではまた次の記事でお会いしましょう!