Как создать 2d массив фиксированного размера в swift - PullRequest
0 голосов
/ 19 апреля 2019

Недавно я провел несколько тестов кода и обнаружил, что создание массива фиксированного размера не так просто в Swift по сравнению с другими языками, скажем, с ++.

Я видел решение для 1d массива здесь: ссылка :

Массив One Dimension, сравните 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?]] = ???????

Как запустить 2d массив фиксированного размера в swift?

1 Ответ

0 голосов
/ 19 апреля 2019

Я нашел ответ, протестировав его в 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)
...