開發的過程中我們經常要保存一些配置信息,一般簡單的是用 NSUserDefaults
[plain]
[[NSUserDefaults standardUserDefaults] objectForKey:key];
[[NSUserDefaults standardUserDefaults] setObject:aObject forKey:key];
[[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
我將這些進行了一些簡單的封裝,使得用起來更加方便:
[plain]
// 在.h文件中聲明一個變量
XY_DataLite_string(DataLiteTitle)
// 在.m文件實現一個變量
DEF_DataLite_object_autoSynchronize(DataLiteTitle)
使用的時候如下:
[plain]
self.DataLiteTitle = nil;
NSLogD(@"%@", self.DataLiteTitle);
self.DataLiteTitle = @"test1";
NSLogD(@"%@", self.DataLiteTitle);
---------------------------------------------------------------------------------------
[plain]
#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 )]; \
}