objective-c - 如何在 Objective C 中构建多维对象数组

标签 objective-c multidimensional-array

Possible Duplicate:
How do I create a multidimensional array?

我是编程和 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];
}

关于objective-c - 如何在 Objective C 中构建多维对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034534/

相关文章:

objective-c - 将 NSNumber 转换为 int 时遇到问题

java - 尝试从构建多部分的 Objective-C 文本在 Java 中构建多部分实体

android - 如何从 Android 中的文本文件创建二维数组?

php - Mysql 上的多维数组重复数据存储

java - 在java中创建HashMap的二维数组

ios - 我们如何在不将 ViewController 对象插入其中的情况下将对象分配到 `UINavigationController`。?

ios - shouldChangeCharactersInRange 返回旧结果 iOS

objective-c - 如何在有条件的屏幕之间移动(如果...)

c++ - 在 C/C++ 中分配给 int[][4]

c++ - 用 SWIG 包装 std::complex<float> 的 4 维 std::vector