我有一个应用程序,第一个场景是登录屏幕。按下登录按钮,如果用户名和密码正确,则应调用下一个场景。否则会显示警报。但我无法弄清楚如何有条件地获得下一个场景。
if ([jsonDict valueForKey:@"success"] && [jsonDict valueForKey:@"redirect"]) {
NSLog(@"%@", [jsonDict valueForKey:@"success"]);
NSLog(@"%@", [jsonDict valueForKey:@"redirect"]);
NSString *redirect = [jsonDict valueForKey:@"redirect"];
[self performSegueWithIdentifier:@"next" sender:self];
}
else {
NSArray *jsonArray = [jsonDict valueForKey:@"errors"];
NSString *err = [jsonArray objectAtIndex:0];
NSLog(@"%@", err);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invalid Credentials!" message:err delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
}
答案 0 :(得分:0)
为故事板中的下一个viewcontroller设置Segue,并为该segue提供唯一标识符。然后,如果用户名和密码正常,只需致电
[self performSegueWithIdentifier:@"yourSegueIdentifier" sender:self];
答案 1 :(得分:0)
使用以下代码:
- (void)validateLogin{
//code to check username and password are correct
if(correct){
[self performSegueWithIdentifier:@"SignInToNextScreen" sender:self];
}else{
UIAlertView *myalert = [[UIAlertView alloc]initWithTitle:@"Login Failed" message:@"Invalid Username/Password" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
}
}
// SignInToNextScreen 是手动触发的segue的segue标识符。
请参阅随附的屏幕截图