NSUserDefaults的一些使用
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;
}
作為判斷應用是否是第一次登陸
[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"]這是在UserDefaults中放了一對key/value,只要你不remove它就永遠存在
if (![[NSUserDefaultsstandardUserDefaults]valueForKey:@"isFirst"])這句話代表從UserDefaults取【isFirst】對應的key/value,如果沒取到,返回nil,nil取【!】代表YES.代表運用第一次啟動。
之后在if中放入
[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"isFirst"];則程序下次啟動的時候【isFirst】從UserDefaults取【isFirst】的value就為字符串@"YES",然后取【!】代表NO.就會走else的內(nèi)容.
典故 :UserDefaults的中的valu可以為字典,但是這個字典中不能含有null 和null的value,如果把含null的value往UserDefaults放,程序會崩潰.
判斷用戶是否為登陸狀態(tài)
[button removeFromSuperview];
[writeButton removeFromSuperview];
[ll removeFromSuperview];
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"isLogin"]) {
[self loginBtn2];
}else{
[self loginBtn];
}
如果登錄走登錄后的方法[self loginBtn2];,else則走[self loginBtn];
NSUserDefaults 可以存放,用戶信息 ,密碼,是否為第一次登錄等
- NSUserDefaults支持的數(shù)據(jù)類型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.