2

我正在开始使用 Objective-C,我正在尝试创建一个多维数组integers,这就是我的做法:

文件 Constants.h(添加在 Prefix.pch 文件中)

typedef enum {
    BOARD_WIDTH=10,
    BOARD_HEIGHT=20
} BoardSizeEnum;

文件板.m

@implementation Board
{
    NSInteger mBoard[BOARD_WIDTH][BOARD_HEIGHT];
}

我尝试了许多为我创建常量的方法widthheight并且这种方法是唯一一种看起来(相当)正确的方法......我也尝试过,define但我不喜欢这个,因为它没有输入(我想错了吗? )...

有没有更好的方法来创建这个?感觉不是很干净。。。

编辑:
NSInteger*NSInteger,我显然想要一个数组integers,而不是指针。

4

2 回答 2

4

你不应该这样声明尺寸。当您有多个选项并且想要为每个选项命名(而不仅仅是使用数字)时,通常会使用枚举。

要为您的数组声明常量,您有几个选择。

  1. 使用预处理器宏

    #define BOARD_WIDTH 10

  2. 使用常量

    static const int boardWidth = 10;

你的声明是错误的。您正在声明一个二维NSInteger 指针数组。它应该是这样的:

// assuming width and height is declared as described above.
NSInteger mBoard[width][height]; 
于 2012-09-30T16:21:36.223 回答
0
NSMutableArray *words[26];
    for (i = 0;i<26;) {
    words[i] = [[NSMutableArray alloc] init];
    }

你可以像这样使用它

[words[6] addObject:myInt];
[words[6] insertObject:myInt atIndex:4];
[words[6] objectAtIndex:4];
//in this case 6 is the column number and 4 is the row.
于 2012-09-30T16:23:28.343 回答