次のSwiftのコードで使用している技法名は何か?
1 |
var temp: String! |
1.Optional Binding
2.Optional Value
3.Forced Unwrapping
4.Implicitly Unwrapped Optional
String!という表現はImplicitly Unwrapped Optional と呼ばれます。
日本語では普通、暗黙的なアンラップ型 と呼ばれます。したがって正解は4番です。
Implicitlyは副詞で、暗黙的に、という意味です。
あえてカタカナ発音にすると、インプリサトリー という感じでしょうか。
オプショナル型と暗黙的アンラップ型を比べてみます。
オプショナル型はこんな感じです。出力するとOptionalという文字列がくっついてしまいます。
var temp:String?;
temp = “hello”;
print(temp.description); // Optional(“hello”)
暗黙的アンラップ型だとこんな感じ。参照時に勝手にアンラップしてくれます。
var temp:String!;
temp = “hello”;
print(temp.description); // “hello”
このように、暗黙的アンラップ型だと、いちいちアンラップする必要が無いので便利ですが、予期せぬところで異常終了する可能性が出てきます。
利用は最小限に留めるべきでしょう。
temp! は temp:ImplicitlyUnwrappedOptional<String> と書くこともできます。
temp! という表記は糖衣構文なのです。