2011-02-08 76 views
0

所以我有一个方法,当按下三个按钮一个我称之为:为什么我的if语句被跳过?

- (IBAction)saveNetwork:(id)sender 
{ 
    NSString *networkEntered; 

    if (sender == button1) 
     networkEntered = @"button1"; 

    if (sender == button2) 
     networkEntered = @"button2"; 

    if (sender == button3) 
     networkEntered == @"button3"; 
     //more work... 
} 

的问题是,它从来没有击中第三个如果,不管什么传入的发件人。我已经尝试其他的,如果是,其他等...

任何想法发生了什么?

问题不在于我怎么传入按钮对象之类的东西,因为如果它是按钮1被按下,它进入,如果只是罚款,但由于某种原因它永远不会检查最后一个在所有。

提前感谢您的阅读和帮助。

+0

兰斯,现在已经过去了好几个小时,不要忘记“接受”答案,通过点击答案左侧的清晰箭头。 –

回答

9

在第三个if块中有一个比较==。取而代之的networkEntered == @"button3";你可能更希望把networkEntered = @"button3";

我期待你的第三个如果被输入块,只是没有做你希望它是什么。

+6

好的。 OP应该尝试打开更多的编译器警告。这类问题通常被检测为“声明无效”警告。 –

+2

这是XCode编译器警告的参考 - http://developer.apple.com/tools/xcode/compilercodewarnings.html – cweston

+0

嘿谢谢:)我发现这是几个小时后,我发布这个问题,我有转移到其他问题:) – Lance

4

那么,考虑到第三个if的效果是平等比较而不是任务,难怪它不起作用。 ;)

networkEntered == @"button3"; 

应该是:

networkEntered = @"button3"; 

除非这只是一个错字,而写了这个问题? :)

1

networkEntered == @"button3"; 大概应该是 networkEntered = @"button3";

0

看看你是否已经迷上了触摸的内心行动,为第三个按钮的方法。