如何将一个数组的值分配给多维数组?

时间:2017-11-24 14:22:25

标签: arrays swift

我正在创建一个多维数组,我需要将列名分配给数组,但我不断收到错误:

  

无法将String类型的值转换为类型的预期参数   [字符串]

我是swift的新手,所以我真的不知道该怎么做,所以这是我的代码:

var data = [[[String]]]()
var rows = 3
var columns = 3
var column_names = ["Red", "Blue", "Green", "Orange"]
var index1 = 0

for index1 in 0...columns{
    data[index1] = column_names[index1]
}

1 个答案:

答案 0 :(得分:1)

代码var data = [[[String]]]()创建一个数组数组。如果您希望能够在其中插入字符串,则需要3个索引。

假设您只想要一个二维数组,您可以使用这样的代码:

var data = [[String]]()

var column_names = ["Red", "Blue", "Green", "Orange"]
let rows = 3
let columns = column_names.count
let empty_row = Array(repeating: "", count: columns)

data.append(column_names)
for _ in 1 ..< rows {
    data.append(empty_row)
}

print(data)

在上面的代码中,我们创建一个空的二维数组。然后,我们添加一个列名称数组,后面跟着空字符串行。

Swift实际上没有原生的n维数组类型。而是创建包含其他数组的数组。因此,可以创建“锯齿状”阵列,其中不同的子阵列具有不同数量的元素。在你的情况下,我假设你想要一个4x3的二维数组,所以这就是我上面写的代码所创造的。