我在 xcode 中有一个使用情节提要的项目。加载的第一个视图是“接受条款和条件”视图,其中用户必须单击接受按钮才能继续。单击它后,它会转到下一个视图。在程序第一次启动时用户单击接受后,我不再希望他们再次看到该视图 - 我希望它直接进入下一个视图。我有一些代码,但它不工作。这就是我所拥有的:
在应用程序委托中:(在 applicationDidFinishLaunchingWithOptions 内)
if([[NSUserDefaults standardUserDefaults] boolForKey:@"TermsAccepted"]!=YES)
{
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"TermsAccepted"];
}
内部接受条款和条件视图实现:(viewDidLoad)
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"TermsAccepted"]){
[self.navigationController pushViewController: self animated:YES];
//I want it to go to the next screen
}
else {
//I want to show this screen, but I don't know what goes here
}
同样在接受条款和条件视图实现中(在接受按钮中)
- (IBAction)acceptButton:(id)sender {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"TermsAccepted"];
}
我运行它并得到错误:'不支持多次推送同一个视图控制器实例'。我该如何解决?