请帮助,我试图在我的应用程序中使用欢迎屏幕,仅显示第一次说明。我使用NSuserDefultes 在教程视图控制器
中NSUserDefaults *defaults;
defaults = [NSUserDefaults standardUserDefaults];
[defaults boolForKey:@"HasLaunchedOnce"];
[defaults synchronize];
在app delegate中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return YES;
}
此代码有什么问题?
答案 0 :(得分:0)
我无法理解调用每个示例代码的位置,因此我将尝试描述实现该代码的一般方法。
在显示教程之前,您应该检查它是否是第一次启动,如下所示:
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
[self displayTutorial];
displayTutorial
是一个提供教程视图控制器的方法。
在教程视图控制器的viewDidLoad
内,将布尔值设置为true,如下所示:
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
这样,教程视图控制器只会显示一次。
答案 1 :(得分:0)
您在应用的.plist文件中选择的主/默认故事板始终会在应用启动时显示。你无法做出这种条件。
如果你想要一些条件启动屏幕,你必须在默认启动屏幕消失后自己实现,如Moe Abdul-Hameed建议。