swift - 如何在 swift 中创建固定大小的二维数组

标签 swift multidimensional-array

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

我在这里看到了一维数组的解决方案: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?]] = ???????

如何在 swift 中启动固定大小的二维数组?

最佳答案

我通过在 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维数组在swift !!!

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

关于swift - 如何在 swift 中创建固定大小的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55755912/

相关文章:

自定义类型的 Swift 字典初始化给出 : '>' is not a postfix unary operator error

ios - 即使在删除某些单元格后,仍以与 TableView Cell 相同的顺序将文本字段值保存在数组中

swift - 如何在swift中运行时为基本数据类型的key设置值?

arrays - 如何在rails 3中获取二维数组的行和列长度?

javascript - 转换具有父子关系的逗号分隔字符串

arrays - 如何从 Collection View 中删除多个选定的单元格? ( swift )

ios - Error.code 在 swift 3 中不再有效语法?

C程序二维数组char值输出2个字符

php - 通过组合值将多维数组转换为单个数组

c++ - 打印所有可能的结果 C++?