我有一个包含4个视图的应用程序,CheckAuthenticationView,HomeView,LoginView和DetailsView。
当用户启动应用程序时,加载的第一个视图是CheckAuthenticationView。此视图检查钥匙串的登录信息,如果存在,则尝试自动登录用户,如果成功,则转到DetailsView。如果不存在任何信息,则会对HomeView执行segue,然后用户可以从中进行登录。
现在在DetailsView上我有一个按钮,所以用户可以注销。如果点击,这将清除所有登录信息并执行到HomeView的展开(退出)。
如果用户没有注销但是杀死应用程序(重启手机等),CheckAuthenticationView应该会产生一个成功的结果,这意味着将自动加载DetailsView。如果是这种情况,当我点击注销时,segue不会触发,用户仍然在DetailsView上。
我猜测segue没有发生,因为HomeView实际上并没有被创建,所以没有任何东西要去。有没有办法转换到尚未创建的视图?
由于
答案 0 :(得分:0)
你还没创造什么意思?如果您还没有在故事板中创建ViewController或任何类型的视图,那么不能让您无法转到不存在的视图。如果你已创建它,那么你可以打电话:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
UIViewController *homeView = [storyboard instantiateViewControllerWithIdentifier:@"HomeView"];
[self presentViewController:vc animated:YES(or NO) completion:nil];