开发的过程中我们经常要保存一些配置信息,一般简单的是用 NSUserDefaults
- [[NSUserDefaults standardUserDefaults] objectForKey:key];
- [[NSUserDefaults standardUserDefaults] setObject:aObject forKey:key];
- [[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
我将这些进行了一些简单的封装,使得用起来更加方便:
- // 在.h文件中声明一个变量
- XY_DataLite_string(DataLiteTitle)
- // 在.m文件实现一个变量
- DEF_DataLite_object_autoSynchronize(DataLiteTitle)
使用的时候如下:
- self.DataLiteTitle = nil;
- NSLogD(@"%@", self.DataLiteTitle);
- self.DataLiteTitle = @"test1";
- NSLogD(@"%@", self.DataLiteTitle);
---------------------------------------------------------------------------------------
- #define XY_DataLite_string( __name ) \
- -(void) set##__name:(NSString *)aObject; \
- -(id) __name;
- // 注意: __name 首字母需要大写
- #define DEF_DataLite_object_autoSynchronize( __name ) \
- -(void) set##__name:(id)aObject{ \
- [DataLite writeObject:aObject forKey:NSStringify( __name ) synchronize:YES]; \
- } \
- -(id) __name{ \
- return [DataLite readObjectForKey:NSStringify( __name )]; \
- }
具体细节请看: