Swiftでnil coalescing operator(??演算子)を使う方法

Pocket

Swiftではnil coalescing operator(??演算子)というものが使える。

  • 左辺がnilではない場合 -> 左辺を使う
  • 左辺がnilであった場合 -> 右辺を使う

という処理を行える。

Swiftでnil coalescing operator(??演算子)を使う

こんな感じになって、左辺がnilである場合とそうでない場合で、それぞれ右辺と左辺が代入される。

ちなみに出力結果のOptionalが気になる人がいると思うので、そこも軽く。

nil coalescing operatorが行ってる処理

基本的には上で書いたような意味なんだけど、実際には一手間入ってる。順序を入れ替えてみよう。

実際にやってみると、str1とstr2の順序を入れ替えるだけで出力結果が異なるよ。

  • str1がnilではない場合(上)では、アンラップしてstr1を返す
  • str1がnilであった場合(下)では、Optionalのままstr2を返す

ってiOS Developer Libraryに書いてあったよ。

iOS Developer Library

なんかややこしいけど、これで納得しよう。


おわりに

最近、 teratail が無料のわりに良くできてておすすめ。

ボクがリリースしたアプリも役に立ったらDLしてみてね -> iOSアプリ

良かったらフォローしてね
スポンサーリンク
  • このエントリーをはてなブックマークに追加