Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在构造值类型时,为什么数组的0索引中有0个值?_Arrays_Swift_Repeat - Fatal编程技术网

Arrays 在构造值类型时,为什么数组的0索引中有0个值?

Arrays 在构造值类型时,为什么数组的0索引中有0个值?,arrays,swift,repeat,Arrays,Swift,Repeat,简短的问题,我需要一个限制为9维的数组,我正在使用我正在展示的代码,但是由于一些更改,我需要它包含另一个数组,即[Int,Int],我已经知道数组的第一个值是[0,0],我怀疑为什么会发生这种情况以及我必须如何解决它 代码如下: var array = Array(repeating:[[Int(), Int()]], count:9) array[2].append([2,1]) print(array) // [[[0, 0]], [[0, 0]], ----->[[0, 0], [

简短的问题,我需要一个限制为9维的数组,我正在使用我正在展示的代码,但是由于一些更改,我需要它包含另一个数组,即[Int,Int],我已经知道数组的第一个值是[0,0],我怀疑为什么会发生这种情况以及我必须如何解决它

代码如下:

var array = Array(repeating:[[Int(), Int()]], count:9)
array[2].append([2,1])
print(array)

// [[[0, 0]], [[0, 0]], ----->[[0, 0], [2, 1]]<------, [[0, 0]], [[0, 0]], [[0, 0]], [[0, 0]], [[0, 0]], [[0, 0]]]
var-array=array(重复:[[Int(),Int()],计数:9)
数组[2]。追加([2,1])
打印(数组)

//[[[0,0]],[[0,0]],----->[[0,0],[2,1]]因为您在数组[2]中添加[2,1],这意味着您开始在三个元素之后追加,因为数组是零索引的。

很抱歉,但什么东西没有按预期工作?您正在追加,这意味着:保留
[0,0]
并添加到
[2]的末尾
array
[2,1]
好的,我用array[2]=[2,1]]解决了这个问题,但是有一种方法可以用[Int,Int]构造数组,它可以进行追加,我输入的第一个值是索引0?创建数组所需的语法是:array(重复:[Int(),Int()],count:9)不需要附加括号。在此之后,请记住append只是将元素放在结构的末尾,因此如果要设置第一个值,需要将其设置为数组[0]mhh,如果我以这种方式创建它,请仅向数组添加第二个值,var array2=array(重复:[Int(),Int()],count:9)array2[2]。append(2)->[[0,0],[0,0],[0,0,2],…我需要这个结果:[[0,0]],[[0,0]],-->[[2,1],[2,5]]