美文网首页ios
NSUserDefaults

NSUserDefaults

作者: 王老板 | 来源:发表于2015-12-10 14:22 被阅读597次

    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.

    相关文章

      网友评论

        本文标题:NSUserDefaults

        本文链接:https://www.haomeiwen.com/subject/txhyhttx.html