iOS - 我是否犯了一个愚蠢的if语句错误?我想我正在失去情节

时间:2012-01-03 02:21:07

标签: objective-c ios xcode storyboard segue

在检查用户名和密码是否正确之后,我正在尝试以编程方式在我的代码中触发segue(由于调试,此时只是用户名)。当在语句之外时,segue会激活,并且调试表明用户名是'test',这是条件正在查找的内容,但是segue不会触发。

- (IBAction)loginButton:(id)sender {


NSString *username = usernameField.text;
NSString *password = passwordField.text;

if(username == @"test")
{
    [self performSegueWithIdentifier:@"loginSegue" sender:sender];
}
else{
    NSLog(@"NOT PERFORMING SEGUE! USERNAME: %@ -- PASSWORD: %@", username, password);
}


}

2 个答案:

答案 0 :(得分:5)

你想要[username isEqualToString:@"test"]

否则你只是检查字符串指针值。

答案 1 :(得分:1)

字符串比较由

执行
[username isEqualToString@"test"];

您只是将字符串变量username的指针值与@“test”的常量指针的值进行比较,当然它永远不会相等。