Swift-optionals
Swift-オプション
Swift 4は、値の不在を処理する Optionals タイプも導入します。 オプションでは、「値があり、xと等しい」または「値がまったくない」と表示されます。
Optionalはそれ自体がタイプで、実際にはSwift 4の新しい超強力な列挙型の1つです。 2つの可能な値、 None と* Some(T)があります。ここで、 *T は、Swift 4で使用可能な正しいデータ型の関連付けられた値です。
これはオプションの整数宣言です-
これはオプションの文字列宣言です-
上記の宣言は、値を意味しない nil に明示的に初期化することと同等です-
Swift 4でオプションがどのように機能するかを理解するために、次の例を見てみましょう-
プレイグラウンドを使用して上記のプログラムを実行すると、次の結果が得られます-
オプションは、Objective-Cでポインターを使用して nil を使用するのと似ていますが、クラスだけでなく、どのタイプでも機能します。
強制開封
変数を optional として定義した場合、この変数から値を取得するには、 unwrap する必要があります。 これは、変数の最後に感嘆符を付けることを意味します。
簡単な例を見てみましょう-
プレイグラウンドを使用して上記のプログラムを実行すると、次の結果が得られます-
今、変数の正しい値を取得するためにアンラッピングを適用しましょう-
プレイグラウンドを使用して上記のプログラムを実行すると、次の結果が得られます。
自動展開
疑問符の代わりに感嘆符を使用して、オプションの変数を宣言できます。 このようなオプションの変数は自動的に展開され、割り当てられた値を取得するために変数の最後に感嘆符を追加する必要はありません。 簡単な例を見てみましょう-
プレイグラウンドを使用して上記のプログラムを実行すると、次の結果が得られます-
オプションのバインディング
オプションのバインディングを使用して、オプションに値が含まれているかどうかを確認し、含まれている場合は、その値を一時的な定数または変数として使用できるようにします。
オプションのバインディングの使用法を理解するために簡単な例を見てみましょう-
プレイグラウンドを使用して上記のプログラムを実行すると、次の結果が得られます-