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];