IOS-NSuserdefault簡單使用

 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;
    }
        return YES;
    } 
  • 判斷應用是否是第一次登陸
  • [[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"])
  • 這是在userdefault里放了一對key`value(鍵值對)。因為userdefault是個永生的的字典,只要不remove它就永遠存在。
if (![[NSUserDefaults standardUserDefaults] valueForKey:@"isFirst"])
  • 這是在userdefault中取isfirst的value,如果沒取到則返回nil,nil取非(!)代表是YES,那么也就是說是第一次啟動。之后在if中放入valueForKey:@"isFirst"則程序下次啟動時取isfirst的value,然后再取非(!)就是NO,則會走else的方法
    我們做項目的時候有個典故
  • userdefault中的value可以為字典但是這個字典不能含有null的value否則程序會崩潰。
    判斷用戶是否登錄也會用到,此時還需要添加注銷(remove)
-(void)click{
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"isLogin"];
     [self.navigationController popViewControllerAnimated:YES];
}

可以用來存放用戶名,密碼,和是否登錄和第一次啟動程序等。

注意的是:在NSUserDefaut中,不能保存自定義對象,只可保存如NSArray,NSDictionary,NSInteger,NSString等數據

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容