我是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.
}
答案 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