2016-10-24 8 views
0

セルの列挙型で単語検索ゲームを作成しています。 2次元配列を作成する必要があり、これを達成するにはNSArrayNSArraysという列挙型のオブジェクトを保持します。2d NSArray列挙型をobjective-c

私は列挙型の配列を見て、そうしました。私はまたNSArrayNSArraysにすることもできます。

マイBoardCellState.hクラス:

typedef NS_ENUM(NSUInteger, BoardCellState) { 
BoardCellStatePartOfWord = 0, 
BoardCellStatePartOfWordSelected = 1, 
BoardCellStateNotPartOfWord = 2, 
BoardCellStateNotPartOfWordSelected = 3,}; 

マイNSArray(10×10グリッド)

NSArray *partofwordArray = [NSArray arrayWithObjects:[NSArray arrayWithObjects:@[@(BoardCellStatePartOfWord),@(BoardCellStatePartOfWord),@(BoardCellStatePartOfWord),@(BoardCellStatePartOfWord),@(BoardCellStatePartOfWord),@(BoardCellStatePartOfWord),@(BoardCellStateNotPartOfWord),@(BoardCellStatePartOfWord),@(BoardCellStateNotPartOfWord),@(BoardCellStateNotPartOfWord)], nil], 
      ...(repeated 9 more times)...nil]; 
をしかし、列挙型を含む NSArraysNSArrayを作成するダウは、私はそれを期待するどのように動作しません

partofwordArrayへのアクセスが期待通りに機能しない

認識されないセレクター0
  int partofWordState = [partofwordArray [row][col] intValue]; 

結果は、行と列が(そう私のグリッド内の)0と9の間の任意の整数であるスタック(intValue)を呼び出すために送信

マイ溶液を

id returnedID =partofwordArray[row][0]; 
      int partofWordState = [returnedID[col] intValue]; 

されています再びどこの行と列が0と9の間にあるか。

これは動作しますが、私はなぜ説明できません。エラーを生成する行ははるかに理にかなっています。なぜそれは機能しませんか?あなたがwrong.youはここ3次元配列を作成しているそれをやっている

答えて

1

..あなた上記のように定義しているアレイで は

int型partofWordState = [partofwordArray [行] [0] [COLのような値を得ることができます] intValue];

何らかのエラーはありません。 [NSArrayの arrayWithObjects:あなたは...

にNSArray * partofwordArray = [NSArrayのarrayWithObjects次のように定義すべきである2次元アレイの

@(BoardCellStatePartOfWord)、@(BoardCellStatePartOfWord)、@(BoardCellStatePartOfWord)、@最大9(BoardCellStatePartOfWord)、@(BoardCellStatePartOfWord)、@(BoardCellStatePartOfWord)、@(BoardCellStateNotPartOfWord)、@(BoardCellStatePartOfWord)、@(BoardCellStateNotPartOfWord)、@(BoardCellStateNotPartOfWord)、 ニル]、

... ..

このコードを使用すると、実際にデータにアクセスできます。

int partofWordState = [partofwordArray [row] [col] intValue];

+0

ありがとうございます。 – stevenpcurtis

+0

Good Luck!ハッピーコーディング! – Darshana