2

私はObjective-Cを始めており、の多次元配列を作成しようとしてintegersいます。これが私がそれを行った方法です:

File Constants.h(Prefix.pchファイルに追加)

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

File Board.m

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

私は自分の定数を作成する多くの方法を試しましたがwidthheightこの方法だけが(かなり)正しいように見えます...私も試しましdefineたが、型指定されていないのでこれは好きではありません(私はそれを考えるのは間違っていますか? )..。

これを作成するより良い方法はありますか?本当にきれいじゃない気がする…

編集:
NSInteger* to NSInteger、私は明らかにintegersポインタではなく、の配列が必要です。

4

2 に答える 2

4

そのようなサイズを宣言するべきではありません。列挙型は通常、複数のオプションがあり、各オプションに(数字だけでなく)名前を付けたい場合に使用されます。

配列の定数を宣言するには、いくつかのオプションがあります。

  1. プリプロセッサマクロを使用する:

    #define BOARD_WIDTH 10

  2. 定数を使用する:

    static const int boardWidth = 10;

そして、あなたの宣言は間違っています。NSInteger ポインタの2次元配列を宣言しています。代わりに次のようになります。

// 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 に答える