可能是重复问题:
如何创建多维数组?
我刚开始学习编程和Objective-C,虽然我在这里找到了一些讨论多维数组的问题,但我还不太明白我需要做什么才能构建和使用自己的多维数组。
我需要创建一个有16行和3列的数组。该数组需要接受字符串对象。我不知道如何创建、填充或访问其内容。是否有人可以友好地为我解释一下?
可能是重复问题:
如何创建多维数组?
我刚开始学习编程和Objective-C,虽然我在这里找到了一些讨论多维数组的问题,但我还不太明白我需要做什么才能构建和使用自己的多维数组。
我需要创建一个有16行和3列的数组。该数组需要接受字符串对象。我不知道如何创建、填充或访问其内容。是否有人可以友好地为我解释一下?
我建议您使用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];
}