『ゼロから学ぶSwift』学習ノート(Day 35)――下書きは使われますか?


オリジナルの文章、転載を歓迎します.転載は明記してください:関東昇のブログ
次のサンプルコードが使用されているかどうかを見てみましょう.
var studentList:String[]  = [" "," "," "]
studentList[0] = " "
 
var studentDictionary =[102: " ",105: " ", 109: " "]
studentDictionary[110] =" "

配列や辞書にアクセスする場合は、下付きのアクセスを使用できます.配列の下付き文字は整数型インデックスで、辞書の下付き文字はその「キー」です.
 
下付き文字
Swiftの下付き文字は、Javaのインデックス属性とC#のインデックスに相当します.
下付きテキストでアクセスする構文の形式は次のとおりです.
  { 
   
    ...
    subscript( : ) -> {  
       get{  
         return
       }    
 
       set( ) {
          ...
       }         
    }           
}

下のアイコンには、計算プロパティに似たgetterおよびsetterアクセサもあります.
getterアクセサは、最後にreturn文を使用して計算結果を返す方法です.
setterアクセサの「新しい属性値」は、属性値に割り当てるものです.パラメータの宣言は省略できますが、デフォルトのパラメータnewValueが割り当てられます.
 
例:2 D配列2 Dはいれつ
Swiftでは2次元配列は提供されず、1次元配列Arrayのみである.2 D配列タイプをカスタマイズし、2つの下付きパラメータで要素にアクセスできます.形式的にはC言語の2 D配列に似ています.
下付きの2 D配列のサンプルコードは次のとおりです.
structDoubleDimensionalArray {  // 
   
    let rows: Int, columns: Int       // rows columns
    var grid: [Int]
   
    init(rows: Int, columns: Int) {   //
        self.rows = rows
        self.columns = columns
        grid = Array(count: rows * columns,repeatedValue: 0)  // grid
    }
   
    subscript(row: Int, col: Int) -> Int {    //
       
        get {
            return grid[(row * columns) + col] 
        }
       
        set (newValue1){
            grid[(row * columns) + col] =newValue1   
        }
    }
   
}
 
var ary2 =DoubleDimensionalArray(rows: 10, columns: 10)// 10×10
 
//
for var i = 0; i < 10;i++ {
    for var j = 0; j < 10; j++ {
        ary2[i,j] = i * j         
 
    }
}
 
//
for var i = 0; i < 10;i++ {
    for var j = 0; j < 10; j++ {
        print("\t \(ary2[i,j])")
    }
    print("
")
}
 

出力結果は次のとおりです.
0  0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9
0 2 4 6 8 10 12 14 16 18
0 3 6 9 12 15 18 21 24 27
0 4 8 12 16 20 24 28 32 36
0 5 10 15 20 25 30 35 40 45
0 6 12 18 24 30 36 42 48 54
0 7 14 21 28 35 42 49 56 63
0 8 16 24 32 40 48 56 64 72
0 9 18 27 36 45 54 63 72 81
关东升新浪微博@tony_へようこそ関東昇.
智捷教室の微信公共プラットフォームに注目し、最新技術文章、図書、教程情報のより多くの逸品iOS、Cocos、モバイル設計課程を理解し、智捷教室の公式サイトに注目してください.http://www.zhijieketang.com智捷教室フォーラムのウェブサイト:http://51work6.com/forum.php