首先繪制好第一頁面和第二頁面,分別命名為登錄前頁面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中可以存人個人信息 個人密碼(有點不安全)是第一次登陸啟動等.....