Swift オプショナルバインディングとは
オプショナルバインディングについてまとめます。
まず、なぜ存在するのか?
条件分岐や繰り返し処理のときにオプショナル型にnilが入っていたら処理を分けたいときがあります。そのときに値の有無に応じて処理を分けます。
if ~ let文を利用します。
if let 定数名 = オプショナル型の値 {
値がある場合の処理
}else {
値がない場合の処理
}
これが基本の書き方
例文
if let _ = str {
print(str)
}
なにこれ?
と思うかもです。まとめます。
var str:String?
if let a = str {
print(str)
}
オプショナル型のstrが宣言されています。
a には strを代入してね。その値があるときにはstrを出力しましょう。
という意味です。
しかし、毎回aなどの利用しない変数を宣言するのは、良くないので
引数名を省略したいときには Swiftでは _ が利用できます。
それを利用しています。
だから
if let _ = str {
print(str)
}
こうなります。_ はただ、引数名を省略しているだけですね。