3

可能重复:
如何创建多维数组?

我是编程和目标 C 的新手,所以虽然我在这里找到了一些讨论多维数组的问题,但我并没有完全了解我需要做什么才能构建和使用我自己的。

我需要制作一个有 16 行和 3 列的数组。数组需要接受字符串对象。我不知道如何创建、填充或访问其内容。有人愿意为我分解它吗?

4

1 回答 1

10

我建议您使用 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];

这三个NSMutableArrays 将是您的二维数组的三列。

编辑

使用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];
}
于 2012-10-23T16:02:06.367 回答