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];\}
阅读全文
0 0
- iOS 自己使用的一些宏定义
- 自己用的一些宏定义
- iOS 一些常用的宏定义
- 宏定义的一些使用技巧总结
- 宏定义的一些使用技巧总结
- 宏定义的一些使用技巧总结
- 宏定义的一些使用技巧总结
- 宏定义的一些使用技巧总结
- IOS:定义自己的Log函数
- iOS宏定义的使用与规范
- iOS 宏定义的使用与规范
- ios常使用的宏定义
- iOS宏定义的使用与规范
- 关于iOS开发真机,模拟器的一些宏定义
- iOS开发笔记--一些实用的宏定义
- ios 开发中用到的一些宏定义
- iOS开发笔记--一些实用的宏定义
- IOS开发中常用的一些宏定义
- Retrofit学习
- 将下载到本地的JAR包手动添加到Maven仓库
- 23种设计模式(23)-解释器模式
- C++能够处理的基本数据类型
- vim替换
- iOS 自己使用的一些宏定义
- 非 root 用户安装和配置 NodeJS
- [译] Python Numpy学习资料 (2)
- 连接池与数据源:DBCP以及C3P0的使用
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 剑指offer:二叉搜索树的后序遍历序列
- 为什么App安装要做个性化
- 读取idea resources 文件并且按行读取文件里面的内容
- 指针运算、二级指针、指针函数、函数指针