見出し画像

【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 Anilじゃなかった場合に使う変数 = 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チェックをして、安全なコードを書いていきましょう!


さいごに

プログラミングって難しいですよね。。

僕も文系大学を出て、全くの未経験からスタートしたので

気持ちは痛いほどよくわかります。。!

少しずつ勉強していけば知識が蓄積され、

いつかはそれが線として繋がる日が絶対きます!!

一緒にがんばっていきましょう!


この記事で少しでも初心者の方が、

「お!そういうことか!」とか「ちょっとわかったぞ!!」

っとなっていただけたら幸いです。



最後まで見ていただきありがとうございました!


ではまた次の記事でお会いしましょう!


この記事が気に入ったらサポートをしてみませんか?