私はSwiftを初めて使っています。私はSwiftでコード化したことはありません。実際、私のコーディングはすべてウェブサイトでした。 HTML、CSS、Javascript私は "if let
の文は何をするのですか?"という基本的で愚かな答えを探しています。私はこれが分かりにくいかもしれませんが、私はどこにでも見てきました。アップルのウェブサイトでさえない。誰かが私に "let let" statementが何かを説明することができますか?
答えて
let x = y
は、新しい定数xを宣言し、yの値に初期化します。 if let x = y
は、 "yがで初期化するためにnil以外の値を持つ場合、その値に初期化された新しい定数xを宣言します"と言います。
だから、の省略形です:オプションの値を保持している可能性のあるボックスで
if y != nil {
let x = y!
...
}
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文が実行されます。
アップルのスウィフトブックをダウンロードし、序章を読むことをお勧めします。
ありがとうございました。私はそれを理解したし、アップルがスウィフトの本を持っていることさえ知らなかった。私は単にウェブサイトで自分のものを読んでいました。私はいくつかの章を読みましたが、今は間違いありません。再度、あなたの答えをありがとう! –
あなたは一番良いと思われる答えを選び、それを受け入れるにはチェックマークをクリックする必要があります。 –
- 1. 誰かが私にこのコードを説明できますか?
- 2. 誰かが私にこのエラーを説明できますか?
- 3. 誰かが私にこのバッチファイルを説明できますか?
- 4. 誰かが説明することができます
- 5. 誰かが "for loop"を私に説明することはできますか?
- 6. 誰かが私にここで何が起こっているか説明できますか?
- 7. このlet式では何が起こっていますか?
- 8. Javascript - 誰かが私にこれが何をしているのか正確に説明できますか?
- 9. 誰かがこのLabviewコードを説明することができます
- 10. 誰かがCのdup()とは何かを説明することができますか?
- 11. 誰かがこのJavascriptコード/チャレンジを説明できますか?
- 12. 誰かがこのコードセグメントを説明できますか?
- 13. 誰かがこのコードを説明できますか?
- 14. 誰かがこれを説明できますか?0.2 + 0.1 = 0.30000000000000004?
- 15. 誰かがこのCSSコードを説明できますか?
- 16. 誰かがこのScalaコードを説明できますか?
- 17. 誰かがこのjQueryトグルテキストメソッドを説明できますか?
- 18. 誰かがこの継承コードを説明できますか?
- 19. 誰かがこのコードスニペットを説明できますか? - C++
- 20. 誰かが私のためにPHPでこの構文を説明することができますか?
- 21. 誰かが私にこの剰余を説明できますか?
- 22. 誰かが私にこのコードの出力を説明できますか?
- 23. 誰かがこのRxjavaの動作を私に説明できますか?
- 24. 誰かが私にこのSQLインジェクション攻撃を説明できますか?
- 25. 誰かがこのJavaScriptコードを私に説明できますか?
- 26. 誰かが私にこの行のScalaコードを説明できますか?
- 27. 誰かがこのコードの仕組みを私に説明できますか?
- 28. 誰かが私にこのコードのスタックを説明できますか?
- 29. 誰かがこのRegExについて私に説明できますか?
- 30. DATEADD(MONTH、DATEEDF(MONTH、0、GETDATE())、0)誰かが私にこのことを説明することができます
。ボックスが空でない場合(nil)、 'if let'ステートメントはそのボックスを開き、ボックス内の値をオプションの変数の型に代入します。ボックスが空の場合、 'if let'に続くブロックはスキップされます。 – vacawama
アップルの「The Swift Programming Language」本の説明のどの部分に問題がありますか? – rmaddy
これはあなたが読んだりんごの正確な部分ですか? https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html – Dallas