0

私は iphone 開発の初心者で、AwesomeMenu の didSelectIndex メソッド内で if ステートメントを実装するのに問題があります。メソッドが起動し、選択したインデックスの値を返しますが、メソッド内の条件ステートメントでインデックスを使用しようとしても応答しません。たとえば、ログには「Select the index : 0」のみが出力され、「Index 0」は出力されません。これは控えめに言っても非常にイライラします。どんな助けでも大歓迎です。

私のコード:

- (void)AwesomeMenu:(AwesomeMenu *)menu didSelectIndex:(NSInteger)idx{

  if (idx==0) {

    NSLog(@"Index 0"); //Doesn't print

  }else if(idx==1){

    NSLog(@"Index 1"); //Doesn't print

  }else{

      NSLog(@"Else Block test"); //Doesn't print

  } 


NSLog(@"Select the index : %d",idx); //<--This Works.

}
4

3 に答える 3

2

デリゲートが正しく設定されていないだけです。

Awesome Menuの定型コードには、呼び出されているNSLogステートメントが含まれています。上記のコードは問題ありません。メニューのデリゲートを適切なオブジェクトに設定していないだけです。その結果、上記のコードは実行されません。

この問題についてサポートが必要な場合は、AwesomeMenuを初期化する方法を示すコードを投稿してください。

いずれの場合も、プロジェクト全体で「インデックスを選択」というフレーズを検索すると、現在のコードの代わりに実際に実行されているデリゲートメソッドが見つかります。

于 2013-03-13T23:17:10.620 に答える
0

あなたが試すことができます:

NSInteger i = 2;
NSInteger j = 2;
if (i == j) { 
 NSLog(@"equal")
}
于 2013-03-13T23:10:02.113 に答える
0

あなたのIf - else発言に問題はありません。よく確認してください(NSInteger)idx

その正常に動作します

[self AwesomeMenu:nil didSelectIndex:1];

- (void)AwesomeMenu:(id )menu didSelectIndex:(NSInteger)idx{

    if (idx==0) {

        NSLog(@"Index 0"); //Doesn't work

    }else if(idx==1){

        NSLog(@"Index 1"); //Doesn't work

    }

    NSLog(@"Select the index : %d",idx); //<--This Works.

}

出力

Index 1
Select the index : 1
于 2013-03-13T23:11:19.500 に答える