NSArray
объекты имеют фиксированный размер, который невозможно изменить после инициализации. NSMutableArray
объекты могут изменить размер. Массив 10 × 10 иногда реализуется как NSArray
, содержащий 10 отдельных NSArray
объектов, каждый из которых содержит десять элементов. Это быстро становится громоздким, иногда проще прибегнуть к простой C для такой задачи:
int tenByTen[10][10];
Или вы можете использовать это:
typedef struct
{
int y[10];
} TenInts;
typedef struct
{
TenInts x[10];
} TenByTen;
Тогда вы могли бы сделать:
- (void) doSomethingWithTenByTen:(const TenByTen) myMatrix
{
NSLog ("%d", myMatrix.x[1].y[5]);
}
И вы также можете вернуть их из методов:
- (TenByTen) mangleTenByTen:(const TenByTen) input
{
TenByTen result = input;
result.x[1].y[4] = 10000;
return result;
}