我已将二维数组定义为:
var monthNames:[[String]]
我想将其初始化为:
列数:3,每列的行:undefined
所以我可以稍后初始化行。
答案 0 :(得分:1)
根据您的问题,您正在创建具有三列的数组,每列将具有更多行(记录),您可以执行以下操作:
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]
这可能对你有帮助!!!
答案 1 :(得分:0)
我认为undefined你的意思是空的 - 所以它是一个包含3个元素的数组,其中每个元素都是一个(空)数组。您可以按如下方式初始化:
var monthNames:[[String]] = [ [], [], [] ]
或:
var monthNames = [[String]](count: 3, repeatedValue: [])
附注:如果您想稍后初始化数组,请记住您不能这样做:
var array = monthNames[0]
array.append("another test")
因为数组是值类型,所以当分配给变量时,会完成原始数组的副本。您所做的任何更改都是该变量的本地更改,因此不会反映在原始数组中。