最近swiftを使い始めました.
二次元配列に格納されている値を,配列の
要素の番号([0][0]に格納されているもの[2][3]に格納されているものといった具合)を指定し,取り出して表示するプログラムを書こうとしているのですが,エラーになります.
最後の行でエラーを食らっています.
どうぞ,よろしくお願いします.
swift
1import Cocoa 2 3class AppController: NSObject { 4 5 var matrix = [[Int32]](repeating: [Int32](repeating:1, count: 5), count: 5) 6 7 var i:Int32=0 8 var j:Int32=0 9 var k:Int32=0 10 11 12 13 @IBOutlet weak var TextField: NSTextField! 14 15 @IBOutlet weak var TextField2: NSTextField! 16 17 @IBOutlet weak var TextLabel: NSTextField! 18 19 20 @IBAction func Button(_ sender: Any) { 21 22 k=0 23 24 for i in 0..<5{ 25 for j in 0..<5{ 26 k += 1 27 matrix[i][j] = Int32(k) 28//配列の1番目に1,2番目に2,3番目に3...という順に代入しています. 29 } 30 } 31 TextLabel.intValue = matrix[TextField.intValue][TextField2.intValue] 32 } 33} 34
エラー: Cannot subscript a value of type '[[Int32]]' with an index of type 'Int32'
試したこと: 最後の行において,配列の要素番号を,matrix[TextField.intValue][TextField2.intValue]のように変数ではなく,[1][1]のように数を打ち込んだところ欲しい値が得られました.
回答1件
あなたの回答
tips
プレビュー