我正在开始Objective-C,我正在尝试创建一个integers
的多维数组,我就是这样做的:
文件Constants.h(在Prefix.pch文件中添加)
typedef enum {
BOARD_WIDTH=10,
BOARD_HEIGHT=20
} BoardSizeEnum;
File Board.m
@implementation Board
{
NSInteger mBoard[BOARD_WIDTH][BOARD_HEIGHT];
}
我尝试了许多为width
和height
创建常量的方法,这种方式是唯一看起来(非常)正确的方法......我也试过了define
但是我不喜欢这样,因为它没有输入(我想错了吗?)...
有没有更好的方法来创建它?我觉得它不是很干净......
编辑:
NSInteger*
到NSInteger
,我显然想要一个integers
数组,而不是指针。
答案 0 :(得分:4)
你不应该声明这样的尺寸。当您有多个选项并且想要为每个选项命名时(而不是仅使用数字),通常会使用枚举。
要为数组声明常量,您有几个选项。
使用预处理器宏:
#define BOARD_WIDTH 10
使用常量:
static const int boardWidth = 10;
你的声明是错误的。您正在声明NSInteger
指针的二维数组。它应该是这样的:
// assuming width and height is declared as described above.
NSInteger mBoard[width][height];
答案 1 :(得分: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.