PlayGround Article 開発 Optional Binding messi 2019年1月7日 Created with Sketch. 1 Created with Sketch. 235 mcz9mm iOS Engineer Optional Bindingとはnilチェックしてnilでなければ元の型を取り出すことである。 また、オプショナル変数を安全に値を取り出す方法のアンラップ方法 ## if let 書き方 ``` let optionalString: String? = "aaa" if let unwrapString = optionalString { //nilではない時の処理 //このifの中でunwrapStringと言う変数が使える print(unwrapString) //aaa } ``` nilだった場合に行う処理が異なる時に使用します。 nilの場合はAの処理、nilでない場合はBの処理をしたいなどのケースでよく使います。 ## gurad let 書き方 ``` let optionalString: String? = "aaa" guard let unwrapString = optionalString else { //nilの時に来る処理 //オプショナル変数に値がない時に実行される箇所にはreturnなどプログラムが終了する命令のみを記載。 return } //unwrapStringがnilでなければここに来る //unwrapStringと言う変数が使える print(unwrapString) //aaa ``` これ以上処理を進めたくない場合に使用します。 nilが入っていたらエラーとして扱うケースだった場合などによく使います。 ## 共通することであるが 使用する変数名について ・後で使わない場合 アンラップ後の変数を使用しない場合には、「_ (アンダーバー)」で省略が可能 ・後で使う 同じ変数名を使うことが多い if let文内でアンラップ前の変数が使えるため不具合発生の確率がある 同じ名前にした場合、if let文中ではアンラップ後の変数が優先的に使用されるため