1.字符串是否为空
#define IS_NULL_STRING(__POINTER) \
(__POINTER == nil || \
__POINTER == (NSString *)[NSNull null] || \
![__POINTER isKindOfClass:[NSString class]] || \
![__POINTER length])
2.Log打印
#if DEBUG
#define LKLog(FORMAT, ...) fprintf(stderr,"[%s](%d):%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
// #define LKLog(FORMAT, ...) NSLog(FORMAT, ## __VA_ARGS__)
#else
#define LKLog(FORMAT, ...) nil
#endif
3.string国际化
#define LOCALIZE_STRING(key)\
NSLocalizedString(key, @"");
4.变量确定释放
#define ASSURE_DEALLOC(__POINTER) { [__POINTER release]; __POINTER = nil; }
5.类是否dealloc
#ifdef DEBUG
#define SELF_DEALLOC_CHECK(__POINTER) { NSLog(@"%@ dealloc",self); [super dealloc]; }
#else
#define SELF_DEALLOC_CHECK(__POINTER) { [super dealloc]; }
#endif