首先绘制好第一页面和第二页面,分别命名为登录前页面loginBtn
登陆后页面loginBtn2
.
- 先取个 vlueForKey:@"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;
[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"isFirst"];
}else{
self.window.rootViewController = self.viewController;
}
- 作为判断应用是否是第一次登陆
[NSUserDefault standardUserDefault] valueForKey:@"isFirst"]
- 这是在UserDefault中放了一对key/value,只要你不remove它就永远存在
if (![[NSUserDefaultsstandardUserDefault]valueForKey:@"isFirst"])
这句话代表从UserDefault取【isFirst】对应的key/value,如果没取到,返回nil,nil取【!】代表YES.代表运用第一次启动。
之后在if中放入
[[NSUserDefault standardUserDefault] setValue:@"YES" forKey:@"isFirst"];则程序下次启动的时候【isFirst】从UserDefault取【isFirst】的value就为字符串@"YES",然后取【!】代表NO.就会走else的内容.
*典故: UserDefault的Vuluw可以为字典和数字但里面不能有null value,如果你要把含有null value放入UserDefault中程序会崩。判断用户是否登陆状态 此时还需要添加注销(remove)
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];
}
- UserDefault中可以存人个人信息 个人密码(有点不安全)是第一次登陆启动等.....