如何快速创建固定大小的二维数组

时间:2019-04-19 02:37:31

标签: swift multidimensional-array

最近我正在做一些代码测试,发现在Swift中固定大小的数组创建与其他语言(例如c ++)相比并不那么简单。

我在这里看到了1d数组的解决方案:link

一维数组,将c ++与Swift进行比较:

// In c++

int array1[64];    // 1-dimension array size 64

// In Swift

var array1 = [Int?](repeating: nil, count: 64) // 1 dimension array size 64

对于二维数组:

// in c++

int array2[64][64]; // 2-dimension array size 64x64

// in Swift

var array2 : [[Int?]] = ???????

如何快速启动固定大小的二维数组?

1 个答案:

答案 0 :(得分:0)

我通过在Playground中进行测试找到了答案,这是解决方案:

在c ++中

int array1[64];    // 1-dimension array size 64

int array2[64][64]; // 2-dimension array size 64x64

在Swift中:

var array1 = [Int?](repeating: nil, count: 64) // 1 dimension array

var array2 = [[Int?]](
 repeating: [Int?](repeating: nil, count: 64)
 count: 64
) // 2-dimension array size 64x64

// Access it like normal

array2[4][2] = 42
print(array2[4][2]) // output: 42

快速的3维额外奖励阵列!

var array3 = 
[[[Int?]]](
  repeating: [[Int?]](
    repeating: [Int?](
      repeating: nil,
      count: 3),
  count: 3),
count: 3)