在我的应用中,我实现了访问令牌逻辑。登录后,在我的仪表板的ViewDidLoad中,我正在调用Web服务来获取业务列表。在
方法,解析值。如果AT标签(访问令牌)过期(我将获得一个msg'访问令牌无效),我想调用登录页面(会话已过期)。但我在控制台中收到错误
开始/结束外观转换的不平衡调用。
控制权仍在我的仪表板中。
NSString *OSString = [jsonMain valueForKey:@"OS"];
NSString *errorString = [jsonMain valueForKey:@"EM"];
if([OSString isEqualToString:@"Success"])
{
// other parsing stuff
}
else
{
if([errorString isEqualToString:@"Access Token is invalid"])
{
appDelegate.loginMsgStr = @"Session Expired";
Login *login = [[Login alloc] init];
[self.navigationController pushViewController:login animated:YES];
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert!"
message:errorString
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}
答案 0 :(得分:0)
如果您使用的是故事板,请使用
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
Login * login = (Login *)[storyboard instantiateViewControllerWithIdentifier:@"Loginview"];
[self.navigationController pushViewController:login animated:YES];
如果您使用自定义导航,请使用
Login *login=[[Login alloc]initWithNibName:@"Login" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:login animated:YES];
答案 1 :(得分:0)
如果LoginView是您的RootViewController,请在
中使用此代码(void)connectionDidFinishLoading:(NSURLConnection *)connection
方法:
[self.navigationController popToRootViewControllerAnimated:YES];
如果这项工作,请告诉我。
干杯。