我是编程和目标C的新手,所以虽然我在这里讨论了几个讨论多维数组的问题,但我还没有完全掌握我需要做的事情来构建和使用我自己的。
我需要创建一个包含16行和3列的数组。该数组需要接受字符串对象。我不知道如何创建,填充或访问其内容。有人愿意为我打破它吗?
答案 0 :(得分:11)
我建议您使用C阵列,因为NSArray
不支持多维度。你可以像这样声明你描述的数组:
NSString *stringArray[16][3];
设置和访问此数组的任何字符串非常简单:
stringArray[7][1] = @"Stringstringstring";
NSString *string = stringArray[3][0];
但是,你可以使用NSArray
(或NSMutableArray
),但这样会有点不那么优雅:
NSArray *stringArray = [NSArray arrayWithObjects:
[NSMutableArray array],
[NSMutableArray array],
[NSMutableArray array], nil];
这三个NSMutableArray
将是你的二维数组的三列。
修改强>
使用NSArray
,使用循环来填充它可能更容易:
NSMutableArray *stringArray = [NSMutableArray array];
for (int column = 0; column < 3; column++)
{
NSMutableArray *columnArray = [NSMutableArray array];
for (int row = 0; row < 16; row++)
[columnArray addObject:[NSString stringWithFormat:@"Row %i, column %i", row, column]];
[stringArray addObject:columnArray];
}