iOS宏(自己使用,持续更新)
2014-04-18 10:11
225 查看
// 直接从RGB取颜色(RGB 0xFF00FF)
#define UICOLOR_FROM_RGB(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]
//获取当前屏幕尺寸
#define APP_HEIGHT [UIScreen mainScreen].applicationFrame.size.height
#define SCR_HEIGHT [UIScreen mainScreen].bounds.size.height
#define SCR_WIDTH [UIScreen mainScreen].bounds.size.width
/**
[宏函数]仅仅执行一回,但里面有一个for循环,可以执行些其他的操作
loops --> 循环的次数
label --> 变量的名字(该变量为static int型号)
block --> 一个能传参数进去的block,传进去的参数为value
使用示例(仅仅执行一回,但循环4次)
EXECUTE_ONCE_FOR_SOME_LOOPS(4, labelName, labelName:^(int value){
});
*/
#define EXECUTE_ONCE_FOR_SOME_LOOPS(loops, label, block) \
static int label = 0;\
for(; label < loops; label++){\
block(label);\
}
// 系统子线程池(并发执行)
#define SYS_CONCURRENT_QUEUE_H dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)
#define SYS_CONCURRENT_QUEUE_D dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
#define SYS_CONCURRENT_QUEUE_L dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0)
#define SYS_CONCURRENT_QUEUE_B dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)
// 系统主线程池(序列执行)
#define SYS_SERIAL_QUEUE dispatch_get_main_queue()
#define SYS_UI_QUEUE dispatch_get_main_queue()
//沙盒路径
#define SANDBOX_PATH NSHomeDirectory()
#define UICOLOR_FROM_RGB(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]
//获取当前屏幕尺寸
#define APP_HEIGHT [UIScreen mainScreen].applicationFrame.size.height
#define SCR_HEIGHT [UIScreen mainScreen].bounds.size.height
#define SCR_WIDTH [UIScreen mainScreen].bounds.size.width
/**
[宏函数]仅仅执行一回,但里面有一个for循环,可以执行些其他的操作
loops --> 循环的次数
label --> 变量的名字(该变量为static int型号)
block --> 一个能传参数进去的block,传进去的参数为value
使用示例(仅仅执行一回,但循环4次)
EXECUTE_ONCE_FOR_SOME_LOOPS(4, labelName, labelName:^(int value){
});
*/
#define EXECUTE_ONCE_FOR_SOME_LOOPS(loops, label, block) \
static int label = 0;\
for(; label < loops; label++){\
block(label);\
}
// 系统子线程池(并发执行)
#define SYS_CONCURRENT_QUEUE_H dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)
#define SYS_CONCURRENT_QUEUE_D dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
#define SYS_CONCURRENT_QUEUE_L dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0)
#define SYS_CONCURRENT_QUEUE_B dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)
// 系统主线程池(序列执行)
#define SYS_SERIAL_QUEUE dispatch_get_main_queue()
#define SYS_UI_QUEUE dispatch_get_main_queue()
//沙盒路径
#define SANDBOX_PATH NSHomeDirectory()
相关文章推荐
- iOS宏(自己使用,持续更新)
- Linux常用命令说明(记录自己Linux命令使用情况,后续会持续更新)
- Python·Jupyter Notebook各种使用方法记录·持续更新
- Lib Dll在VS2008下的编译和使用-持续更新,欢迎拍砖
- 跟风晒晒自己作为一位大数据程序员看过的还不错的书 -持续更新中
- Intellij IDEA2016.2.2工具使用遇到的问题以及部分快捷键(持续更新...)
- Vim使用技巧(4) -- 命令行模式 【持续更新】
- 使用nmap验证漏洞(持续更新中。。。)
- iOS --- 总结Objective-C中经常使用的宏定义(持续更新中)
- vim使用(持续更新)
- 函数参数、返回值何时使用引用的问题(持续更新...)
- Jquery EasyUI 开发使用说明书(生产经验)持续更新
- Android WebView 使用总结--持续更新
- 使用KVM虚拟机遇到的问题(持续更新)
- asp.net2.0内建角色成员机制使用中的若干问题(如果以后类似问题将在此持续更新)
- 【持续更新】Myeclipse 使用技巧
- sourceInsight使用技巧,持续更新中~~~
- 51单片机使用总结(持续更新)
- GitHub:使用GitHub经验总结详细攻略(持续更新!)——Jason niu
- SVN 的使用:用两次就会了,很简单.注意总结【①做完自己代码,首先右键项目>team >“与资源库同步”,把队友的代码更新下来(而不是直接提交),②整合完设置"冲突已解决",才能提交】===