LoginSignup
14

More than 5 years have passed since last update.

guardとwhereの組み合わせ方

Last updated at Posted at 2015-11-09

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 }

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14