我正在尝试创建一个只在第一次打开应用时显示的教程屏幕。我知道我应该使用用户默认值,但如何以及在哪里?在方法viewDidLoad或app delegate类?
答案 0 :(得分:1)
试试这个
- (BOOL)isAppAlreadyLaunchedOnce {
BOOL isRememberMe = [[NSUserDefaults standardUserDefaults]boolForKey:@"isAppAlreadyLaunchedOnce"];
if (isRememberMe) {
return YES;
}
else{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isAppAlreadyLaunchedOnce"];
return NO;
}
}
答案 1 :(得分:1)
存储状态是否在NSUserDefaults
中显示教程视图。
如果您想在启动时决定是否显示教程视图,请在应用代表 didFinishLaunchingWithOptions
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"shouldShowTutorial"])
//show tutorial
}
else{
//don't show tutorial
}
第一次显示 Tutorial View 时,在NSUserDefaults
中设置了一个标记。
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"shouldShowTutorial"];
答案 2 :(得分:0)
@Maddy已经给出了正确的答案,但让我澄清一下为什么我们不使用 viewDidLoad ? 我们为何使用 didFinishLaunch
<强> viewDidLoad中强>
系统已经决定在应用程序启动时加载哪个View。默认情况下它是&#34; Main&#34; storyboard的初始视图控制器< /强>
<强> didFinishLaunch 强>
系统已完成显示您应用的所有任务,但尚未决定加载哪个视图。这就是为什么你可以在这里控制首先显示你的教程屏幕。 :)