iOS 自己使用的一些宏定义

来源:互联网 发布:ubuntu进入文件目录 编辑:程序博客网 时间:2024/06/02 05:16
//log日志#ifdef DEBUG#define JWLog(...) NSLog(@"%s %d \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])#else#define JWLog(...)#endif//单例一个类#define singleton_interface(class) + (instancetype)shared##class;#define singleton_implementation(class) \static class *_instance; \\+ (id)allocWithZone:(struct _NSZone *)zone \{ \    static dispatch_once_t onceToken; \    dispatch_once(&onceToken, ^{ \    _instance = [super allocWithZone:zone]; \    }); \    \    return _instance; \} \\+ (instancetype)shared##class \{ \    if (_instance == nil) { \    _instance = [[class alloc] init]; \    } \    \    return _instance; \}//获取沙盒 tmp#define kPathTemp NSTemporaryDirectory()//获取沙盒 Document#define kPathDocument [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]//获取沙盒 Cache#define kPathCache [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]//字符串是否为空#define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO )//数组是否为空#define kArrayIsEmpty(array) (array == nil || [array isKindOfClass:[NSNull class]] || array.count == 0)//字典是否为空#define kDictIsEmpty(dic) (dic == nil || [dic isKindOfClass:[NSNull class]] || dic.allKeys == 0)//判断是否为iPhone#define kIsiPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)// 是否iPad#define kIsPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)//获取系统版本#define kIOS_VERSION [[UIDevice currentDevice].systemVersion floatValue]//获取设备屏幕的高宽#define kDEVICE_WIDTH [UIScreen mainScreen].bounds.size.width#define kDEVICE_HEIGHT [UIScreen mainScreen].bounds.size.height//获取当前语言#define kCurrentLanguage ([NSLocale preferredLanguages] objectAtIndex:0])//16进制色值确定颜色#define kUIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]//UserDefault 存储对象#define kUserDefaultSetObjectForKey(__VALUE__,__KEY__) \{\    [[NSUserDefaults standardUserDefaults] setObject:__VALUE__ forKey:__KEY__];\    [[NSUserDefaults standardUserDefaults] synchronize];\}//UserDefault 获得存储的对象#define kUserDefaultObjectForKey(__KEY__)  [[NSUserDefaults standardUserDefaults] objectForKey:__KEY__]//UserDefault 删除对象#define kUserDefaultRemoveObjectForKey(__KEY__) \{\    [[NSUserDefaults standardUserDefaults] removeObjectForKey:__KEY__];\    [[NSUserDefaults standardUserDefaults] synchronize];\}
原创粉丝点击