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

Lan*_*nce 0 iphone xcode if-statement objective-c

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

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

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

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

    if (sender == button3)
        networkEntered == @"button3";
        //more work...
}
Run Code Online (Sandbox Code Playgroud)

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

有什么想法发生了什么?

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

提前感谢阅读和帮助.

nyb*_*ler 9

你在第三个if块中有一个比较==.而不是networkEntered == @"button3";你可能想拥有networkEntered = @"button3";

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

  • 接得好.OP应该尝试打开更多的编译器警告.这种问题通常被检测为"声明无效"警告. (6认同)
  • 以下是XCode中编译器警告的参考 - http://developer.apple.com/tools/xcode/compilercodewarnings.html (2认同)