我有一个无法解决的问题。在我的登录页面上,我正在创建一个共享实例并加载它:
ViewController *vc = [ViewController sharedInstance];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.1) {
[self presentViewController:vc animated:YES completion:nil];
}else{
[self presentModalViewController:vc animated:YES];
}
这是第一次运作良好。 在我的视图控制器上,我有一个如下所示的注销方法:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.1) {
[self dismissViewControllerAnimated:NO completion:nil];
}else{
[self dismissModalViewControllerAnimated:NO];
}
它也运行良好,但在我注销后,再次尝试登录,它会在代码中间停止...没有错误,没有任何借口。
任何人都知道解决方案吗?
由于
编辑: sharedInstance
static ViewController *vcontroller;
+ (ViewController *) sharedInstance {
if (!vcontroller) {
vcontroller = [[ViewController alloc] init];
} return vcontroller;
}
答案 0 :(得分:0)
根据你的解释,我真的想(应该)删除共享实例。因此,请确保您在代码中有一个将cController静态变量设置为nil的方法。我不认为调用sharedInstance和设置将起作用,因为它似乎你正在使用单例,如果你有正确的单例模式实现它将无法正常工作。 此外,您可以根据您的要求清除此变量,然后根据您的要求进行登录