[iOS/SWIFT]SWIFT文法!-第6話:オプション


こんにちは!文法の勉強はもう六回目です.いろいろなことを勉强したようですが、文法を勉强しなければなりません.今日の勉強と勉強の内容は外国語です.以前Collectionタイプを勉強していた時に一度Optionという単語に触れたことがありますが、今日はやっと詳しく知ることができました!それでは、ご来賓について詳しくお話ししましょう.

オプション


外来のはSWIFT言語で最大の特徴を持っている.私も他のプログラミングをたくさん学んだと思いますが、SWIFTでこの可能性について初めて触れました.群外値は変数を表す値があってもなくてもよい.つまり、変数の値はゼロ(NULL)値であってもよく、何もありません.
nil?
->nilは、値がない感じではなく、空の値に近いです.
  • 文字列「」には値がなく、空の値ではありません...!
  • 整数型0は0の値があり、空の値ではありません...!
  • 私たちが最初に学んだ変数をもう一度考えてみましょう.
    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以外に安全な方法があるのは当然だ.「オプションバインド」、「ネックレスを選ぶ」など、後で詳しく説明します.
    今日は『守望先鋒』を勉強しました私はまだ完全に理解していないと思います.しかし、このように多く見て接触すれば、もっと上手になるのではないでしょうか.この部分は斬新で難しいので、もっと勉強時間をかけなければなりません.今日も一日お疲れ様でした
    今日学んだ重要な要素.
  • nilに加入するには、外来者が必要です.
  • 通常データ型と通常データ型は全く異なる.
  • オープンデータ型を書くためには、プロセスを展開する必要があります.
  • を展開するために、変数の後ろに!あまりよくないコードを貼り付けます.