狠狠撸
Submit Search
翱辫迟颈辞苍补濒で苍颈濒と戦う
?
0 likes
?
117 views
Y
Yuta Isogai
Follow
Optional
Read less
Read more
1 of 20
Download now
Download to read offline
More Related Content
翱辫迟颈辞苍补濒で苍颈濒と戦う
1.
翱辫迟颈辞苍补濒で苍颈濒と戦う 第2回Swift勉強会@Reraku 磯貝悠太
2.
Optional とは?
3.
Optional とは? ? nil
と任意の型を格納できる型 ? T? で宣言
4.
Optional とは? ? “T?”
は “Optional<T>” のシンタックスシュ ガー ? 通常の型を、nil 値を許容するようにラップ 4
5.
Optional とは? ? “T”
型の変数に、”T?” 型の変数は代入できな い ? “T?” 型に対しては、”T” 型のメソッドを呼び 出せない ? → アンラップが必要
6.
アンラップの方法
7.
アンラップの方法 ? Forced unwrapping ?
Optional chaining ? Optional binding ? 比較演算子
8.
Forced Unwrapping ? 変数の後ろに
“!” をつける ? Implicitly Unwrapped Optional 宣言時の ”!” とは 別モノ ? もし nil が格納されていたら、Runtime Error
9.
Optional chaining ? アンラップした変数のメソッドを使用できる。変数の後 ろに”?”をつける ?
Optional 宣言時の “?” とは別モノ ? もし nil が格納されていたら、メソッドは実行されず、nil が返る(→ 返るのは Optional 型)
10.
Optional chaining
11.
Optional Binding ? if
文の条件式内で、nil チェックと同時にアン ラップ
12.
比較演算子 ? 比較演算子を使うと、自動的にアンラップさ れる
13.
おまけ: ??演算子 ? 変数が
nil の場合、既定値が代入される
14.
おまけ: Implicitly Unwrapped Optional ?
nil と任意の型を格納できる型 ? “T!” または “ImplicitlyUnwrappedOptional<T>” で宣 言 ? 代入時、メソッドの呼び出し時に、暗黙的に Forced Unwrapping される ? 明示的にアンラップすることもできる
15.
Optional の理想と現実
16.
Optional の理想 ? nil
にメッセージを送って予期せぬところで崩 壊したりしない ? Optional Value であることを明示でき、静的 解析に対応 ? 堅牢なコード!!!
17.
Optional の現実 ? Cocoa
/ Cocoa Touch フレームワークは Objective-C で書かれている ? 返り値が T! で宣言されていても、余裕で nil が入ってくる?T?で返せばいいのに…… ? → T! でも必要に応じてアンラップ
18.
まとめ
19.
まとめ ? Optional で
nil を厳密に管理できる ? アンラップで nil でないことが保証される ? Cocoa Touch は nil まみれ ? 適切にアンラップして nil と戦おう
20.
ご清聴ありがとうございました
Download