スウィフト – オプショナル型

スポンサーリンク

本当にわからないとこがあった場合一人では解決できません。
『teratail』とはエンジニア特化型のQ&Aサイトです。 すべてのエンジニアさんが抱えている悩みを共有して 解決するための質問サイトです
無料なのでまずは登録して使ってみてください。メールアドレスだけで登録可能です ----------------------------------------------------------------------------------------


スウィフト – オプショナル型


Swift 4には、値の不在を処理するOptionals型も導入されています。オプションは、「値があり、それはxと等しい」または「全く値がない」のいずれかであると判定します。

オプショナル型とは変数にnilの代入を許容するデータ型で

反対に非オプショナル型はnilを代入できませんオプショナル型の変数にはデータ型の最後に「?」か「!」をつけます。

ここにInteger宣言があります。

var おそらくInt: Int?

ここにはString宣言があります。

var おそらくStr: String?

上記の宣言はnilに初期化することと等価です。これは無価値を意味します –

var おそらくStr: String? = nil

スウィフト4で選択肢がどのように機能するかを理解するために、次の例を考えてみましょう。

var myString:String? = nil

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

私たちが上記のプログラムをPLAYGROUNDで実行すると、次の結果が得られます。

myString has nil value

強制アンラッピング


変数をオプションとして定義した場合、

この変数から値を取得するには変数をアンラップする必要があります。

これは、変数の最後に感嘆符を付けることを意味します。

簡単な例を考えてみましょう。

var myString:String?

myString = "Hello, Swift 4!"

if myString != nil {
   print(myString)
} else {
   print("myString にはニルがあります")
}

私たちが上記のプログラムをPLAYGROUNDで実行すると、次の結果が得られます。

Optional("Hello, Swift 4!")

次に、アンラッピングを適用して変数の正しい値を取得しましょう。

var myString:String?

myString = "Hello, Swift 4!"

if myString != nil {
   print( myString! )
} else {
   print("myString にはニルがあります")
}

私たちが上記のプログラムをPLAYGROUNDで実行すると、次の結果が得られます。

Hello, Swift 4!

自動アンラップ


オプションの変数は、疑問符の代わりに感嘆符( ! )を使用して宣言することができます

そのようなオプションの変数は自動的にアンラップされ、割り当てられた値を取得するために、変数の末尾にさらに感嘆符を使用する必要はありません。

簡単な例を考えてみましょう。

var myString:String!
myString = "Hello, Swift 4!"

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

私たちが上記のプログラムをPLAYGROUNDで実行すると、次の結果が得られます。

Hello, Swift 4!

オプションのバインド


オプションのバインディングを使用して、オプションに値が含まれているかどうかを確認し

値がある場合は、その値を一時定数または変数として使用できるようにします。

if文のオプションのバインディングは次のとおりです。

if let constantName = someOptional {
   statements
}

オプションのバインディングの使い方を理解するための簡単な例を考えてみましょう。

var myString:String?
myString = "Hello, Swift 4!"

if let yourString = myString { //letは定数です
   print("Your string has - \(yourString)")
} else {
   print("Your string does not have a value")
}

私たちが上記のプログラムをPPLAYGROUNDで実行すると、次の結果が得られます。

Your string has - Hello, Swift 4!

前のページ 次のページ


















スポンサーリンク

プログラミングは独学からは挫折の可能性が高いです。まずは無料体験ができる
コードキャンプが本当におすすめ。無料体験でわからないところを聞きましょう。
転職補助つき。カリキュラム終了後に転職紹介をしてくれます。