在检查用户名和密码是否正确之后,我正在尝试以编程方式在我的代码中触发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);
}
}
答案 0 :(得分:5)
你想要[username isEqualToString:@"test"]
否则你只是检查字符串指针值。
答案 1 :(得分:1)
字符串比较由
执行[username isEqualToString@"test"];
您只是将字符串变量username的指针值与@“test”的常量指针的值进行比较,当然它永远不会相等。