我已經定義的二維陣列爲:Initilizing在夫特
var monthNames:[[String]]
我想將其初始化如下:
列數:3,和每列的行: undefined
所以我可以在以後啓動行。
我已經定義的二維陣列爲:Initilizing在夫特
var monthNames:[[String]]
我想將其初始化如下:
列數:3,和每列的行: undefined
所以我可以在以後啓動行。
我推測未定義你的意思是空 - 所以它是一個3個元素的數組,其中每個元素是一個(空)數組。您可以初始化如下:
var monthNames:[[String]] = [ [], [], [] ]
或:
var monthNames = [[String]](count: 3, repeatedValue: [])
附註:如果您想以後初始化數組,記住,你不能做到這一點:
var array = monthNames[0]
array.append("another test")
因爲數組是值類型,所以當分配給一個變量時,原始數組的副本就完成了。您所做的任何更改都是該變量的本地變量,因此不會反映在原始數組中。
根據您的問題,您正在創建一個三列排列,每列將有更多行(記錄)的數量,所以你可以做如下:
var twoDimesions: [[String]] = [[], [], []]
var array1: [String]=[]
array1.append("1 name1")
array1.append("1 name2")
twoDimesions[0] = array1
var array2: [String]=[]
array2.append("2 name1")
array2.append("2 name2")
twoDimesions[1] = array2
println("twoDimentions: \(twoDimesions)")
println("array1: \(array1)")
println("array2: \(array2)")
,你會得到日誌如下:
twoDimentions: [[1 name1, 1 name2], [2 name1, 2 name2], []]
array1: [1 name1, 1 name2]
array2: [2 name1, 2 name2]
這可能對你有幫助!