if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]) {
AppGuidViewController *appGuid = [[AppGuidViewController alloc] initWithImageArray:@[@"guies01",@"guies02",@"guies03"]
startBtnDistanceWithBottomArray:@[@70,@100,@110,@120] needLoadVC:self.viewController];
self.window.rootViewController = appGuid;
[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"isFirst"];
}else{
self.window.rootViewController = self.viewController;
}
return YES;
}
-
[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]
UserDefaults中放入键值对,它是永生的,只要不Remove,永远存在在应用程序当中
-
if (![[NSUserDefaults standardUserDefaults]valueForKey:@"isFirst"])
这句话代表从UserDefaults中取[isFirst
]对应的value
如果没取到返回为nil[!
]代表YES,这时应用是第一次启动,之后在if中放入[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]
,则程序下次启动时,[isFirst
]从UserDefaults取[isFirst
]的value就为字符串“@YES”
,然后取[!
]代表NO,就会走else
的内容.
- UserDefaults中的
value
可以为字典,但是不能含有null
的value
,如果把含有null
的value
放入UserDefaults中,程序会崩溃。
if ([[NSUserDefaults standardUserDefaults]valueForKey:@"isFirst"] ==nil) {
UINavigationController *navc = [[UINavigationController alloc] initWithRootViewController:[[LoginViewController alloc] init]];
[self.navigationController presentViewController:navc animated:YES completion:nil];
}else{
[self.navigationController pushViewController:[[LandViewController alloc] init] animated:YES];
}
- userDefaults中可以存放:登陆信息,用户信息,用户名密码,是否第一次登陆等简单的信息。