IOS 轻量级数据持久化 DataLite

开发的过程中我们经常要保存一些配置信息,一般简单的是用 NSUserDefaults

[plain]  view plain copy
  1. [[NSUserDefaults standardUserDefaults] objectForKey:key];  
  2. [[NSUserDefaults standardUserDefaults] setObject:aObject forKey:key];  
  3. [[NSUserDefaults standardUserDefaults] removeObjectForKey:key];  

我将这些进行了一些简单的封装,使得用起来更加方便:

[plain]  view plain copy
  1. // 在.h文件中声明一个变量  
  2. XY_DataLite_string(DataLiteTitle)  
  3.   
  4. // 在.m文件实现一个变量  
  5. DEF_DataLite_object_autoSynchronize(DataLiteTitle)  

使用的时候如下:

[plain]  view plain copy
  1. self.DataLiteTitle = nil;  
  2. NSLogD(@"%@", self.DataLiteTitle);  
  3. self.DataLiteTitle = @"test1";  
  4. NSLogD(@"%@", self.DataLiteTitle);  

---------------------------------------------------------------------------------------

[plain]  view plain copy
  1. #define XY_DataLite_string( __name ) \  
  2. -(void) set##__name:(NSString *)aObject; \  
  3. -(id) __name;  
  4.   
  5. // 注意: __name 首字母需要大写  
  6. #define DEF_DataLite_object_autoSynchronize( __name ) \  
  7. -(void) set##__name:(id)aObject{ \  
  8.     [DataLite writeObject:aObject forKey:NSStringify( __name ) synchronize:YES]; \  
  9. } \  
  10. -(id) __name{ \  
  11.     return  [DataLite readObjectForKey:NSStringify( __name )]; \  
  12. }  

具体细节请看:

https://github.com/uxyheaven/XYQuickDevelop

你可能感兴趣的:(ios,NSUserDefaults,数据持久化)