IOS NSUserDefaults-輕量級本機資料儲存

來源:互聯網
上載者:User

IOS NSUserDefaults-輕量級本機資料儲存
IOS NSUserDefaults-輕量級本機資料儲存

IOS 針對使用者資料持久化處理提供了多種處理方式:NSUserDefaults、plist 以及 sqlite3 資料庫 都是很不錯的選擇!

NSUserDefaults 是一種輕量級本機資料儲存,操作方便,但僅支援Bool、Float、NSInteger、Object、Double、Url 這六種資料類型的儲存

NSUserDefaults 提供了添加、讀取以及移除等方法,供開發人員調用,具體樣本如下:

GNSUserDefaults.h
#import /** *  GNSUserDefaults *  輕量級本機資料儲存(NSUserDefaults) */@interface GNSUserDefaults : NSObject/** *  get_userDefaults *  擷取並初始化 NSUserDefaults 對象 * *  @return NSUserDefaults */+(NSUserDefaults *) get_userDefaults;#pragma mark-Class UserDefaults 儲存資料(僅支援六種類型:Bool、Float、NSInteger、Object、Double、Url)/** *  saveUserDefaults_Bool *  儲存資料 * *  @param objValue BOOL 儲存的資料值 *  @param objKey   NSString 儲存的資料鍵 */+(void) saveUserDefaults_Bool:(BOOL) objValue objKey:(NSString *)objKey;/** *  saveUserDefaults_Float *  儲存資料 * *  @param objValue float 儲存的資料值 *  @param objKey   NSString 儲存的資料鍵 */+(void) saveUserDefaults_Float:(float) objValue objKey:(NSString *)objKey;/** *  saveUserDefaults_Integer *  儲存資料 * *  @param objValue float 儲存的資料值 *  @param objKey   NSString 儲存的資料鍵 */+(void) saveUserDefaults_Integer:(NSInteger) objValue objKey:(NSString *)objKey;/** *  saveUserDefaults_NSObject *  儲存資料 * *  @param objValue NSObject 儲存的資料值 *  @param objKey   NSString 儲存的資料鍵 */+(void) saveUserDefaults_NSObject:(NSObject *) objValue objKey:(NSString *)objKey;/** *  saveUserDefaults_Double *  儲存資料 * *  @param objValue double 儲存的資料值 *  @param objKey   NSString 儲存的資料鍵 */+(void) saveUserDefaults_Double:(double) objValue objKey:(NSString *)objKey;/** *  saveUserDefaults_NSURL *  儲存資料 * *  @param objValue NSURL 儲存的資料值 *  @param objKey   NSString 儲存的資料鍵 */+(void) saveUserDefaults_NSURL:(NSURL *) objValue objKey:(NSString *)objKey;#pragma mark-Class 讀取 UserDefaults 資料(僅支援六中類型:Bool、Float、NSInteger、Object(id)、Double、Url)/** *  readUserDefaults_Bool *  讀取資料 * *  @param objKey NSString 讀取的鍵名 * *  @return NSObject 鍵對應值 */+(BOOL) readUserDefaults_Bool:(NSString *) objKey;/** *  readUserDefaults_Float *  讀取資料 * *  @param objKey NSString 讀取的鍵名 * *  @return NSObject 鍵對應值 */+(float) readUserDefaults_Float:(NSString *) objKey;/** *  readUserDefaults_Integer *  讀取資料 * *  @param objKey NSString 讀取的鍵名 * *  @return NSObject 鍵對應值 */+(NSInteger) readUserDefaults_Integer:(NSString *) objKey;/** *  readUserDefaults_Object *  讀取資料 * *  @param objKey NSString 讀取的鍵名 * *  @return NSObject 鍵對應值 */+(id) readUserDefaults_Object:(NSString *) objKey;/** *  readUserDefaults_Double *  讀取資料 * *  @param objKey NSString 讀取的鍵名 * *  @return NSObject 鍵對應值 */+(double) readUserDefaults_Double:(NSString *) objKey;/** *  readUserDefaults_URl *  讀取資料 * *  @param objKey NSString 讀取的鍵名 * *  @return NSObject 鍵對應值 */+(NSURL *) readUserDefaults_URl:(NSString *) objKey;@end

GNSUserDefaults.m

 

#import GNSUserDefaults.h/** *  GNSUserDefaults *  輕量級本機資料儲存(NSUserDefaults) */@implementation GNSUserDefaults#pragma mark-Class static variablestatic NSUserDefaults* userDefaults;#pragma mark-Class method+(NSUserDefaults *) get_userDefaults{    if (!userDefaults)        userDefaults = [NSUserDefaults standardUserDefaults];    return userDefaults;}#pragma mark-Class UserDefaults 儲存資料(僅支援六種類型:Bool、Float、NSInteger、Object、Double、Url)+(void) saveUserDefaults_Bool:(BOOL) objValue objKey:(NSString *)objKey{    [[GNSUserDefaults get_userDefaults] setBool:objValue forKey:objKey];    //這裡建議同步儲存到磁碟中,但是不是必須的    [[GNSUserDefaults get_userDefaults] synchronize];}+(void) saveUserDefaults_Float:(float) objValue objKey:(NSString *)objKey{    [[GNSUserDefaults get_userDefaults] setFloat:objValue forKey:objKey];    //這裡建議同步儲存到磁碟中,但是不是必須的    [[GNSUserDefaults get_userDefaults] synchronize];}+(void) saveUserDefaults_Integer:(NSInteger) objValue objKey:(NSString *)objKey{    [[GNSUserDefaults get_userDefaults] setInteger:objValue forKey:objKey];    //這裡建議同步儲存到磁碟中,但是不是必須的    [[GNSUserDefaults get_userDefaults] synchronize];}+(void) saveUserDefaults_NSObject:(NSObject*) objValue objKey:(NSString *)objKey{    [[GNSUserDefaults get_userDefaults] setObject:objValue forKey:objKey];    //這裡建議同步儲存到磁碟中,但是不是必須的    [[GNSUserDefaults get_userDefaults] synchronize];}+(void) saveUserDefaults_Double:(double) objValue objKey:(NSString *)objKey{    [[GNSUserDefaults get_userDefaults] setDouble:objValue forKey:objKey];    //這裡建議同步儲存到磁碟中,但是不是必須的    [[GNSUserDefaults get_userDefaults] synchronize];}+(void) saveUserDefaults_NSURL:(NSURL *) objValue objKey:(NSString *)objKey{     [[GNSUserDefaults get_userDefaults] setURL:objValue forKey:objKey];     //這裡建議同步儲存到磁碟中,但是不是必須的     [[GNSUserDefaults get_userDefaults] synchronize];}#pragma mark-Class 讀取 UserDefaults 資料(僅支援六中類型:Bool、Float、NSInteger、Object(id)、Double、Url)+(BOOL) readUserDefaults_Bool:(NSString *) objKey{    return [[GNSUserDefaults get_userDefaults] boolForKey:objKey];}+(float) readUserDefaults_Float:(NSString *) objKey{    return [[GNSUserDefaults get_userDefaults] floatForKey:objKey];}+(NSInteger) readUserDefaults_Integer:(NSString *) objKey{    return [[GNSUserDefaults get_userDefaults] integerForKey:objKey];}+(id) readUserDefaults_Object:(NSString *) objKey{    return [[GNSUserDefaults get_userDefaults] objectForKey:objKey];}+(double) readUserDefaults_Double:(NSString *) objKey{    return [[GNSUserDefaults get_userDefaults] doubleForKey:objKey];}+(NSURL *) readUserDefaults_URl:(NSString *) objKey{    return [[GNSUserDefaults get_userDefaults] URLForKey:objKey];}@end

移除對象:removeObjectForKey

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.