guard whereの使い方
検索してもあまり出てこない気がするのでメモ
Swift2で新たに導入されたguardステートメントですが、where
で条件をつけることができます
こんな感じのコードが
guard let itemCount = self.manager?.itemCount else { return }
if itemCount == 0 {
return
}
こうなります
guard let itemCount = self.manager?.itemCount where itemCount > 0 else { return }
アンラップした直後に更にwhere
文で判定し、false
の場合else
へ渡ります
アンラップ後に別の行で更に判定するという手間が省け、ちょっとだけ綺麗になりました
以上です
[2017/02/08] 追記
Swift3では以下のようになります
guard let itemCount = self.manager?.itemCount, itemCount > 0 else { return }