2016-09-17 2 views
-4

私はSwiftを初めて使っています。私はSwiftでコード化したことはありません。実際、私のコーディングはすべてウェブサイトでした。 HTML、CSS、Javascript私は "if letの文は何をするのですか?"という基本的で愚かな答えを探しています。私はこれが分かりにくいかもしれませんが、私はどこにでも見てきました。アップルのウェブサイトでさえない。誰かが私に "let let" statementが何かを説明することができますか?

+0

。ボックスが空でない場合(nil)、 'if let'ステートメントはそのボックスを開き、ボックス内の値をオプションの変数の型に代入します。ボックスが空の場合、 'if let'に続くブロックはスキップされます。 – vacawama

+0

アップルの「The Swift Programming Language」本の説明のどの部分に問題がありますか? – rmaddy

+0

これはあなたが読んだりんごの正確な部分ですか? https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html – Dallas

答えて

5

let x = yは、新しい定数xを宣言し、yの値に初期化します。 if let x = yは、 "yがで初期化するためにnil以外の値を持つ場合、その値に初期化された新しい定数xを宣言します"と言います。

だから、の省略形です:オプションの値を保持している可能性のあるボックスで

if y != nil { 
    let x = y! 
    ... 
} 
0

if letは、オプションのバインディングと呼ばれるものです。それを理解するためには、まず選択肢を理解しなければなりません。

オプションは、値またはnilを含むことができる変数です。

VAR:のInt

あなたは疑問符を使用して、オプションの変数を宣言しますか?

var string1: String? 

if let string2 = string1 { 
    print("string2 = \(string2)") 
} 

新しい定数文字列2を作成し、等号の右側の式がnilでない場合、式は」言う「させた場合」、:ここで

バインディングオプションを使用してコードのビットがあります。文字列1がnilが含まれているため、オプションのラップを解除し、それがstring2の中に価値のput

上記のコードでは、何も、印刷されないであろう

をしかし、その間に別のラインで:。

var string1: String? 
string1 = "foo" 
if let string2 = string1 { 
    print("string2 = \(string2)") 
} 

これで、print文が実行されます。

アップルのスウィフトブックをダウンロードし、序章を読むことをお勧めします。

+0

ありがとうございました。私はそれを理解したし、アップルがスウィフトの本を持っていることさえ知らなかった。私は単にウェブサイトで自分のものを読んでいました。私はいくつかの章を読みましたが、今は間違いありません。再度、あなたの答えをありがとう! –

+0

あなたは一番良いと思われる答えを選び、それを受け入れるにはチェックマークをクリックする必要があります。 –

関連する問題