对可能尚未创建的视图执行segue

时间:2015-11-11 02:49:24

标签: ios swift2

我有一个包含4个视图的应用程序,CheckAuthenticationView,HomeView,LoginView和DetailsView。

当用户启动应用程序时,加载的第一个视图是CheckAuthenticationView。此视图检查钥匙串的登录信息,如果存在,则尝试自动登录用户,如果成功,则转到DetailsView。如果不存在任何信息,则会对HomeView执行segue,然后用户可以从中进行登录。

现在在DetailsView上我有一个按钮,所以用户可以注销。如果点击,这将清除所有登录信息并执行到HomeView的展开(退出)。

如果用户没有注销但是杀死应用程序(重启手机等),CheckAuthenticationView应该会产生一个成功的结果,这意味着将自动加载DetailsView。如果是这种情况,当我点击注销时,segue不会触发,用户仍然在DetailsView上。

我猜测segue没有发生,因为HomeView实际上并没有被创建,所以没有任何东西要去。有没有办法转换到尚未创建的视图?

由于

1 个答案:

答案 0 :(得分:0)

你还没创造什么意思?如果您还没有在故事板中创建ViewController或任何类型的视图,那么不能让您无法转到不存在的视图。如果你已创建它,那么你可以打电话:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
UIViewController *homeView = [storyboard instantiateViewControllerWithIdentifier:@"HomeView"];
[self presentViewController:vc animated:YES(or NO) completion:nil];