NSUserDefaults

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.
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容