
今回は「Optional Chaining」について書きたいと思います。
Optional Chainingの説明から実際の使用例までサンプルコードをもとにわかりやすく説明していきたいと思います。
オプショナル型が複数つながるときに安全にシンプルにnilチェックできる仕組み
です。
ピンとこないと思うので早速例を見ていきましょう!
まずは今回の元となるコードを確認します。
class User {
var name: String = ""
}
let user: User
user = User()
user.name = "mayugezio"
let nameCount = user.name.count
print(nameCount)//結果 9
上記コードが今回のサンプルコードになります。
「Userクラス」の中に「nameプロパティ」があり、文字数をカウントして出力すると言うシンプルなコードです。
では先ほどのサンプルコードのUserとnameがオプショナル型だった場合の事について考えたいと思います。
一つずつnilチェックをしてあげないといけないのですが、Optional Chainingを使うともっと簡単に書く事ができます。
下記コードを見てみましょう!
class User {
var name: String? = ""
}
let user: User?
user = User()
user?.name = "mayugezio"
if let nameCount = user?.name?.count {
print(nameCount)//結果 9
}
2行目と4行目の「?」の部分でオプショナル型にしています。
でここからがOptional Chainingの書き方になります。
Optional 変数のあとに単に ? をつけてあげればOKです!
今回の例で言うと6行目と7行目のuserとnameに?が付いてるのがわかると思います。
そして7行目でオプショナルバインディングを使っています。
最後に注意点があります。
Optional Chaining の「?」と、Optional 型の宣言を短く書くためのこちらの「?」は同じ記号ですが意味は違うので混同しないように気をつけましょう!
今回はOptional Chainingの書き方について簡単に書いてみました。
もしnilチェックが面倒だなって思った時はOptional Chainingを試してみてはいかがでしょうか?
コメントを残す