Edited at

Optional型

メモ

基本的なことを理解できてないので、再度勉強。メモとして残す。


Wrapとは

機能・データを別の形で提供することをラップするという。


わりと幅広く使われる言葉ではありますが

 “中身は同じだけど,外見を変えたい”

ときに使うものだということです。


optional型は値をラップしてる。


Optional型とは

optional型はデータ型の1種。

swiftでは変数などの値をoptional型というもので包み込んでいる。

これによってnilが許容できるようになる。

非optional型はnilが代入できない仕組みになっている。


Unwrapとは

optionalの値を通常の値に変換すること。

・Forced Unwrapping (!マークをつける)

optional型を強制的にアンラップする。

強制的にするためnilが入るとエラーになる。

あまり推奨されてない。

・Optional Binding (if文と条件式などを使う。)

optionalの値がnilの場合false それ以外はTrueを返す

これによってアンラップする。

例 if let 変数 = 変数 {}

  guard let 変数 else {return}

・Optional Chaining(!マークではなく?をつける)

?を使ってメソッドやプロパティからデータを取り出すことができる。

optional型で返ってくるのでnilが入っても大丈夫。

取得した値は再度アンラップしなくてはならない。

暗黙的アンラップもある

https://qiita.com/YusukeHosonuma/items/f6b1e9320e375e678da9

参考

ラップ

https://qiita.com/dsudo/items/51ca822169ef9f8b9bc3

http://e-words.jp/w/%E3%83%A9%E3%83%83%E3%83%97.html

https://wa3.i-3-i.info/word191.html

アンラップ

https://qiita.com/maiki055/items/b24378a3707bd35a31a8#%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E5%9E%8B%E3%81%A8%E3%81%AF