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的内容.
-
典故 :UserDefaults的中的valu可以为字典,但是这个字典中不能含有null 和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];
-
NSUserDefaults 可以存放,用户信息 ,密码,是否为第一次登录等
- NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.
网友评论