[iOS/Swift][iOS]Swiftの表記4

次のSwiftのコードで使用している技法名は何か?

 

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! という表記は糖衣構文なのです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です