解散共享实例viewcontroller

时间:2013-01-16 10:05:47

标签: iphone xcode

我有一个无法解决的问题。在我的登录页面上,我正在创建一个共享实例并加载它:

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; 
} 

1 个答案:

答案 0 :(得分:0)

根据你的解释,我真的想(应该)删除共享实例。因此,请确保您在代码中有一个将cController静态变量设置为nil的方法。我不认为调用sharedInstance和设置将起作用,因为它似乎你正在使用单例,如果你有正确的单例模式实现它将无法正常工作。 此外,您可以根据您的要求清除此变量,然后根据您的要求进行登录