判断用户是否第一次登录
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] setValue:@"YES" forKey:@"isFirst"];
- 这是在UserDefaults中放了一对键值对,只要你不remove,它将永远存在。
-
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;
这句话代表从UserDefaults中取(isfirst)对应的key/ value,如果没取到,那就返回(nil)
,nil取非(!)
代表yes
,那么就代表应用是第一次启动。之后在if中放[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"isFirst"];
。
- 则程序下次再启动的时候(isfirst)从UserDefaults取(isfirst)的value就为字符串@"yes",然后取(!),代表no,就会走else的内容。
- 典故:
userDefaults中的value可以为字典 但字典中不能含有null的value,如果把含有null的value放入userDefaults那么程序会崩。
- 判断用户是否为登录状态
[button removeFromSuperview];
[writeButton removeFromSuperview];
[ll removeFromSuperview];
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"isLogin"]) {
// 登陆后的页面效果
[self loginBtn2];
}else{
[self loginBtn];
}
- 如果登录走[self loginBtn2]; else(没有登录)则[self loginBtn];
- UserDefaults可以存放个人信息,用户名密码,是否第一次登录,是否第一次启动等。