[iOS/SWIFT]SWIFT文法!-第6話:オプション
こんにちは!文法の勉強はもう六回目です.いろいろなことを勉强したようですが、文法を勉强しなければなりません.今日の勉強と勉強の内容は外国語です.以前Collectionタイプを勉強していた時に一度Optionという単語に触れたことがありますが、今日はやっと詳しく知ることができました!それでは、ご来賓について詳しくお話ししましょう.
外来のはSWIFT言語で最大の特徴を持っている.私も他のプログラミングをたくさん学んだと思いますが、SWIFTでこの可能性について初めて触れました.群外値は変数を表す値があってもなくてもよい.つまり、変数の値はゼロ(NULL)値であってもよく、何もありません.
nil?
->nilは、値がない感じではなく、空の値に近いです.文字列「」には値がなく、空の値ではありません...! 整数型0は0の値があり、空の値ではありません...! 私たちが最初に学んだ変数をもう一度考えてみましょう.
この...エラーが発生しました.エラーメッセージを少し読むと、nilはStringとIntに割り当てられません.ここで私たちがずっと主張している変数タイプはnilを持たない非オプション変数です!では、これらの変数に空の値、すなわちnil値を持たせるにはどうすればいいのでしょうか.
nil値を持つ外部変数を宣言するには、データ型の後に?貼ればいい本当に簡単ですよね?では?私たちはただ貼って、コードを修正しましょう.
でも!ここのString?Stringとは決して同じタイプではありません!!最初は同じタイプだと思っていましたが、二人のデータ型は全然違います簡単なコードを見てみましょう.
ここから少し見えます.2つの変数が同じタイプの場合、1つの変数に1つの変数を入れて保存できますが、ここでエラーが発生したため、この2つの変数は異なるデータ型です.そしてエラーメッセージを読むと「String?必ずStringタイプでパッケージを開けてください」では、未包装とは何かを素早く理解しましょう.
Unwrappingを説明すると積まれたものを落とすような気がします「この意味を外国語に代入すれば」?」と納得していました.外部変数に値がない可能性があるので、未知で、それを剥がして明確に見えるのはUnwrappingです.
強制的にUnwrappingをするために外来変数の後ろに!貼ればいいUnwrappingで上記のコードを再実行しましょう.
外来変数aの後ろ!貼り付けて実行すると、文字列変数bがよく保存されていることがわかります!!
もっと具体的に理解できるようにコードを書きながら練習します
Optionalが数字の前に見えますこれは,c変数が傍観者として宣言され,その変数が値なのかnilなのか分からないためである.だから前にOptionの修飾をつけましたでは、これらの式を除去し、完全な整数型を得るにはどうすればいいのでしょうか.上の方法を利用!
!Unwrappingを行った結果、出力値に完全な数字が…!答えはここにあったのか.
でもUnwrappingのために変数の後ろに!書くのは決して良いコードではありません!Unwrappingを利用するプロセスは,外部変数の値が無条件であると仮定してUnwrappingを強制するプロセスであり,外部変数の値がnil値の体であれば!強制Unwrappingを使用すると、エラーが発生します.次のコードを見て確認しましょう
上のコードでは、c変数をnilに再変換しようとしています.まだあります.『強制Unwrapping』...エラーがすぐに表示されます...ううう
コードがこんなに短いとき、私が宣言した変数には値があり、nil値の存在を簡単に知ることができますが、複雑なコードに遭遇すると、多くの変数に遭遇し、すべての変数の値を覚えていません.使用する強制Unwrappingでエラーが発生する可能性があります.絶対にそうはいかないでしょう.
このような強制的なUnwrapping以外に安全な方法があるのは当然だ.「オプションバインド」、「ネックレスを選ぶ」など、後で詳しく説明します.
今日は『守望先鋒』を勉強しました私はまだ完全に理解していないと思います.しかし、このように多く見て接触すれば、もっと上手になるのではないでしょうか.この部分は斬新で難しいので、もっと勉強時間をかけなければなりません.今日も一日お疲れ様でした
今日学んだ重要な要素. nilに加入するには、外来者が必要です. 通常データ型と通常データ型は全く異なる. オープンデータ型を書くためには、プロセスを展開する必要があります. を展開するために、変数の後ろに!あまりよくないコードを貼り付けます.
オプション
外来のはSWIFT言語で最大の特徴を持っている.私も他のプログラミングをたくさん学んだと思いますが、SWIFTでこの可能性について初めて触れました.群外値は変数を表す値があってもなくてもよい.つまり、変数の値はゼロ(NULL)値であってもよく、何もありません.
nil?
->nilは、値がない感じではなく、空の値に近いです.
var a : String = "abc"
var b : Int = 4
print(a)
print(b)
このように変数を宣言し、その変数に値を割り当てます.それに対応する変数が出力されることも知っています!また、これらの変数にはそれぞれの値があり、変数として宣言されているため、変更することができます.しかし、それらの変数を空のnilに変更するとどうなりますか?グラウンドで確かめてみようこの...エラーが発生しました.エラーメッセージを少し読むと、nilはStringとIntに割り当てられません.ここで私たちがずっと主張している変数タイプはnilを持たない非オプション変数です!では、これらの変数に空の値、すなわちnil値を持たせるにはどうすればいいのでしょうか.
外部変数の宣言
nil値を持つ外部変数を宣言するには、データ型の後に?貼ればいい本当に簡単ですよね?では?私たちはただ貼って、コードを修正しましょう.
var a : String? = "abc"
var b : Int? = 4
a = nil
b = nil
print(a)
print(b)
変数にnil値が誤って含まれていないことを確認し、出力も良好です.そうですか.nil値を含む変数のみを宣言できるようになりました.String?String
でも!ここのString?Stringとは決して同じタイプではありません!!最初は同じタイプだと思っていましたが、二人のデータ型は全然違います簡単なコードを見てみましょう.
var a : String? = "abc"
var b : String
b = a
print(b)
オープンStringのaに「abc」の値を付けて宣言し、通常Stringのbにa変数を加えます.しかし、エラーが発生した場合、コードは実行できません...b変数は、OperationalではなくStringであるため、常に値を持たなければならない.一方,aは傍観者として宣言される変数であるため,実際のコードが実行されるまで値があるかどうか分からない.ここから少し見えます.2つの変数が同じタイプの場合、1つの変数に1つの変数を入れて保存できますが、ここでエラーが発生したため、この2つの変数は異なるデータ型です.そしてエラーメッセージを読むと「String?必ずStringタイプでパッケージを開けてください」では、未包装とは何かを素早く理解しましょう.
Force Unwrapping(強制Unrapping)
Unwrappingを説明すると積まれたものを落とすような気がします「この意味を外国語に代入すれば」?」と納得していました.外部変数に値がない可能性があるので、未知で、それを剥がして明確に見えるのはUnwrappingです.
強制的にUnwrappingをするために外来変数の後ろに!貼ればいいUnwrappingで上記のコードを再実行しましょう.
外来変数aの後ろ!貼り付けて実行すると、文字列変数bがよく保存されていることがわかります!!
もっと具体的に理解できるようにコードを書きながら練習します
var c : Int?
c = 5
print(c)
非整数c変数を宣言し、5を代入します.では、次の変数を出力するとどのような結果になるのでしょうか.Optionalが数字の前に見えますこれは,c変数が傍観者として宣言され,その変数が値なのかnilなのか分からないためである.だから前にOptionの修飾をつけましたでは、これらの式を除去し、完全な整数型を得るにはどうすればいいのでしょうか.上の方法を利用!
!Unwrappingを行った結果、出力値に完全な数字が…!答えはここにあったのか.
でもUnwrappingのために変数の後ろに!書くのは決して良いコードではありません!Unwrappingを利用するプロセスは,外部変数の値が無条件であると仮定してUnwrappingを強制するプロセスであり,外部変数の値がnil値の体であれば!強制Unwrappingを使用すると、エラーが発生します.次のコードを見て確認しましょう
上のコードでは、c変数をnilに再変換しようとしています.まだあります.『強制Unwrapping』...エラーがすぐに表示されます...ううう
コードがこんなに短いとき、私が宣言した変数には値があり、nil値の存在を簡単に知ることができますが、複雑なコードに遭遇すると、多くの変数に遭遇し、すべての変数の値を覚えていません.使用する強制Unwrappingでエラーが発生する可能性があります.絶対にそうはいかないでしょう.
このような強制的なUnwrapping以外に安全な方法があるのは当然だ.「オプションバインド」、「ネックレスを選ぶ」など、後で詳しく説明します.
今日は『守望先鋒』を勉強しました私はまだ完全に理解していないと思います.しかし、このように多く見て接触すれば、もっと上手になるのではないでしょうか.この部分は斬新で難しいので、もっと勉強時間をかけなければなりません.今日も一日お疲れ様でした
今日学んだ重要な要素.
Reference
この問題について([iOS/SWIFT]SWIFT文法!-第6話:オプション), 我々は、より多くの情報をここで見つけました https://velog.io/@wook4506/iOS-Swift-Swift-문법을-알아보자-6편-옵셔널-Optionalテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol