guard let で2つ以上の変数をまとめて処理する
Swift2からoptional型をunwrapを保証しつつnilでないことを確認するためにguard let構文が用意されるようになった。
非常に便利なので積極的に使われるけど、括弧やreturnが必要なのでいくつもguard letを使おうとするとかさばるとおもっていた。
しかし、実はguard let構文はまとめて書けることを知ったのでメモしておく。
// 1つだけunwrapとnilチェックする guard let hoge = hoge else { return }
// 2つ以上unwrapとnilチェックする場合は","区切りにする // 先にunwrapしたものは、2つ目以降で使用可能 guard let view = sender as? UIView, tag = view.tag else { return }
ちなみに、unwrapしたものを同じguard let構文内で使用していたらコンパイラーがクラッシュすることがあったので、ここら辺はまだ不安定なのかもしれない。