如何在Method中实现If-Statement?

时间:2013-03-13 22:57:06

标签: iphone if-statement methods indexing conditional

我是iphone开发的菜鸟,我在AwesomeMenu的didSelectIndex方法中实现if语句时遇到了麻烦。该方法触发并返回所选索引的值,但是当我尝试在方法中的条件语句中使用索引时,它不会响应。例如,我的日志只打印“选择索引:0”,而不是“索引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.

}

3 个答案:

答案 0 :(得分:2)

代表设置不正确。

Awesome Menu的样板代码包括正在调用的NSLog语句。你的上述代码没问题。您只是不将菜单的委托设置为适当的对象。因此,上述代码永远不会运行。

如果您在这方面需要帮助,请发布演示如何初始化您的AwesomeMenu的代码。

在任何情况下,在整个项目中搜索“选择索引”这一短语,您会发现实际执行的委托方法 而不是当前代码。

答案 1 :(得分:0)

您可以尝试:

NSInteger i = 2;
NSInteger j = 2;
if (i == j) { 
 NSLog(@"equal")
}

答案 2 :(得分: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