我正在创建一个多维数组,我需要将列名分配给数组,但我不断收到错误:
无法将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]
}
答案 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的二维数组,所以这就是我上面写的代码所创造的。