【发布时间】:2014-03-31 05:52:05
【问题描述】:
我只想在应用程序第一次启动时打开一次 ViewController。下面是我的代码。问题是当我写 YES 到 NSUserdefaults ,做一个 synchronize ,然后关闭应用程序。在使用模拟器的 Xcode 中,该值不会更新为 Yes。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isFirstLaunch"])
{
// app already launched
[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO],@"isFirstLaunch", nil]];
[[NSUserDefaults standardUserDefaults]synchronize];
}
else
{
[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],@"isFirstLaunch", nil]];
[[NSUserDefaults standardUserDefaults]synchronize];
}
return YES;
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isFirstLaunch"])
{
NSLog(@"first time");
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
LASplashUserSettingViewController *splash = [storyboard instantiateViewControllerWithIdentifier:@"splash"];
[self.window.rootViewController presentViewController:splash animated:NO completion:nil];//
}
}
Why is NSUserDefaults not saving my values?
已关注上述和许多其他链接。我在这里想念什么? 谢谢,
【问题讨论】:
标签: ios objective-c nsuserdefaults