Вам необходимо сохранить объекты, хранящиеся в вашем массиве C. Не нравится NS * Array, массив C не сохраняется при добавлении в массив.
Однако для такого двумерного массива без отверстий я бы просто использовал один NSMutableArray. Любой N-мерный массив может быть представлен как линия - как одномерный массив - с простой математикой.
А именно, чтобы определить индекс объекта в (X, Y), используйте (Y * width) + X)
.
Единственное предостережение в том, что NS*Array
не поддерживает "дыры". Вам нужно будет заполнять массив построчно. То есть для массива 3x4 (3 в ширину, 4 в высоту) вы должны заполнить его в следующем порядке: 0,0
, 1,0
, 2,0
, 0,1
, 1,1
и т. Д.
Очевидно, что операции insert
и remove
испортят ваше 2D-представление (но в NSMutableArray
из NSMutableArrays
тоже).
В качестве альтернативы используйте NSPointerArray
, так как в нем могут быть отверстия.