为什么我的if语句被跳过了?

时间:2011-02-08 19:24:06

标签: iphone objective-c xcode if-statement

所以当我按下三个按钮之一时,我会调用一个方法:

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

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

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

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

问题是,无论发送者传入什么内容,它都不会击中第三个。我已经尝试了其他如果是,否则等......

任何想法发生了什么?

问题不在于我是如何传递按钮对象或类似的东西,因为如果是按下按钮1,它会输入if就好了,但由于某种原因它根本不会检查最后一个。

提前感谢阅读和帮助。

4 个答案:

答案 0 :(得分:9)

你的第三个if块中有一个比较==。而不是networkEntered == @"button3";您可能想要networkEntered = @"button3";

我希望您输入第三个if块,而不是按照您的预期进行操作。

答案 1 :(得分:4)

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

networkEntered == @"button3";

应该是:

networkEntered = @"button3";

除非在撰写此问题时这只是一个错字? :)

答案 2 :(得分:1)

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

答案 3 :(得分:0)

看看你是否已将Touch Up Inside动作连接到第三个按钮的方法。