Отредактировано, чтобы сделать мой ответ более применимым к вопросу.Изначально я не заметил, что вы ищете 2D-массив.Если вы знаете, сколько, сколько вам нужно, вы можете чередовать данные и добиваться успеха.Я знаю, что, возможно, существуют другие (более объективные стандартные) способы размещения массивов внутри массива, но для меня это сбивает с толку.Массив внутри массива не является двумерным массивом.Это просто второе измерение в одном из объектов.Вы должны добавить массив к каждому объекту, и это не то, что я считаю двухмерным массивом.Правильно или неправильно, я обычно делаю вещи так, как мне кажется.
Итак, допустим, вам нужен массив 6x6:
int arrayStride=6;
int arrayDepth=6;
NSMutableArray *newArray = [[NSMutableArray alloc] initWithCapacity:arrayStride*arrayDepth];
Я предпочитаю инициализировать массив, заполнив егос объектами;
for(int i=0; i<arrayStride*arrayDepth; i++) [newArray addObject @"whatever"];
Затем после этого вы можете получить доступ к объектам по firstDim + secondDim * 6
int firstDim = 4;
int secondDim = 2;
NSString *nextString = [newArray objectAtIndex:firstDim+secondDim*6];