利用NSUserDefaults保存用戶登錄狀態(tài)

NSUserDefaults適合存儲輕量級的本地數(shù)據(jù),比如要保存一個登陸界面的數(shù)據(jù),用戶名、密碼之類的,使用NSUserDefaults是首選。下次再登陸的時候就可以直接從NSUserDefaults里面讀取上次登陸的信息。
NSUserDefaults支持的數(shù)據(jù)格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL類型。
1.登錄成功后保存賬號密碼

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; //登陸成功后把用戶名存儲到UserDefault
[userDefaults setObject:parameters[@"username"] forKey:@"Pusername"];
[userDefaults synchronize]; //這里建議同步存儲到磁盤中,但是不是必須的,雖然有時候不加這一行代碼也能保存成功,但是如果程序運行占用比較大的內(nèi)存的時候不加這行代碼,可能會造成無法寫入plist文件中

2.第二次登錄獲取登錄賬號及密碼

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSString *name = [userDefault objectForKey:@"Pusername"];

3.退出登錄狀態(tài)

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; //移除UserDefaults中存儲的用戶信息
[userDefaults removeObjectForKey:@"Pusername"];
[userDefaults synchronize];

4.使用需注意

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    //存儲時,除NSNumber類型使用對應(yīng)的類型以外,其他的都是使用setObject:forKey:
    [userDefaults setInteger:myInteger forKey:@"myInteger"];
    [userDefaults setFloat:myFloat forKey:@"myFloat"];
    [userDefaults setDouble:myDouble forKey:@"myDouble"];
    [userDefaults setObject:myString forKey:@"myString"];
    [userDefaults setObject:myDate forKey:@"myDate"];
    [userDefaults setObject:myArray forKey:@"myArray"];
    [userDefaults setObject:myDictionary forKey:@"myDictionary"];
    [userDefaults synchronize];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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