Swift_Tuple & Optional



1. Tuple


  • 複数の値を一時的に1つのプロジェクトに平らにする方法.

  • 異なるタイプの値はtupleに格納でき、すべてのタイプの値に制限されません.
  • 	let myTuple = (10, 432.432, "this")
    	//튜플 선언
    
    	let myTuple1 = (count : 10, length : 432.432, msg : "hello")
        	//튜플을 생성하는 시점에서 각각의 값을 변수에 할당
    
    	let (myInt, myDouble, myString) = myTuple
        	//하나의 구문으로 튜플의 모든 값을 추출하여 변수 또는 상수에 할당
            
    	var (myInt, _, myString) = myTuple
        	//부동소수점 수는 무시하고 정수와 문자열 값만 튜플에서 추출하여 변수에 할당

    2. Optional Type

  • 変数または定数値が割り当てられていない場合の処理方法
  • var index: Int?

  • 値が割り当てられていない傍観者は、実際にはnil値を有する.
    SWIFTはnullではなくnilを使用します.オブジェクト向け言語objective-cではnullもnilも存在するがswiftはオブジェクト向け言語ではなくnullとnillの区別が消失する.
    Objective-c
    ->nil:クラスオブジェクトを参照する
    ->null:その他のポインタタイプ
    Swift
    ->nilだけが存在する

  • 傍観者に値が割り当てられている場合は、その値が傍観者内で包装されていることを示す.

  • 外部マッピングの値を使用する場合は、強制反映射の概念を使用します.パッケージされた値を外部データ型からの外部名の後ろに置きます!感嘆符で抽出する.
  • var index: Int?
    
    index = 3
    
    var alphabet = ["A", "B", "C", "D", "E"]
    
    if index != nil {
        print(alphabet[index!])
    } else {
        print("index does not contain a value")
    }
    //알파벳을 나타내는 문자열 배열의 인덱스를 담는 옵셔널 변수를 사용
  • は、強制アンインストールの代わりに、外部バインディングによって一時変数または定数
  • に値を割り当てることができる.
    if let constantname = optionalName {
    
    }
    
    if var variableName = optionalName {
    
    }
  • 強制アンインストール宣言:このようにアンインストールを宣言すると、バインドの強制アンインストールまたはアンインストールを必要とせずに値
  • にアクセスできます.
    var index: Int! 
    //옵셔널 강제적 언래핑
    
    index = 3
    
    var alphabet = ["A", "B", "C", "D", "E"]
    
    if index != nil {
        print(alphabet[index!])
    } else {
        print("index does not contain a value")
    }
    /*이제 index 옵셔널 변수는 강제적으로 언래핑되도록 선언되어, 
    print 동작 시 배열의 인덱스로 사용될 때 값을 언래핑할 필요가 없다.*/
  • swiftからの非パラメータまたは定数にnilを割り当てることはできません.
    (Nullableでなければならない)