logo头像

求知若渴,虚心若愚

iOS常用宏定义

我们做项目开发有时候会频繁写一些代码,或者是需要一些多个地方引用,但是必须一致的字符串,这时候宏定义可以帮助我们解决很多问题

一般情况下,API接口和一些通知的名称就是一些长的字符串一定要用宏定义,在这就是一些常用的方法。下面列举一些常用的宏定义,虽然不是很全,但是是一些基本常用的。

1. 当前屏幕的宽高

1
2
define kScreenW [[UIScreen mainScreen] bounds].size.width
define kScreenH [[UIScreen mainScreen] bounds].size.height

2. 判断当前系统版本

1
2
3
define iOS9 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0 ? YES : NO)
define iOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0 ? YES : NO)
define iOS7 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0 ? YES : NO)

3. 获取系统版本

1
2
define IOS_VERSION [[UIDevice currentDevice] systemVersion] floatValue]
define CurrentSystemVersion [UIDevice currentDevice] systemVersion]

4. 获取当前语言

1
define CurrentLanguage ([NSLocale preferredLanguages] objectAtIndex:0])

5. 取三色颜色值

1
2
3
4
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]

6. 带有RGBA的颜色设置

1
define COLOR(R, G, B, A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]

7. 获取当前的window

1
define currentWindow [[UIApplication sharedApplication].delegate window]

8. 调试

1
2
3
4
5
6
ifdef DEBUG
define LOG(...) NSLog(VA_ARGS);
define LOG_METHOD NSLog(@"%s", func);
else
define LOG(...); #define LOG_METHOD;
endif

9. NSUserDefaults 实例化

1
define UserDefault [NSUserDefaults standardUserDefaults]

10. 读取本地图片

1
define LOADIMAGE(file,ext) [UIImage imageWithContentsOfFile:[NSBundle mainBundle]pathForResource:file ofType:ext]

11. 定义UIImage对象

1
define IMAGE(A) [UIImage imageWithContentsOfFile:[NSBundle mainBundle] pathForResource:A ofType:nil

12. 定义UIImage对象

1
define ImageNamed(_pointer) [UIImage imageNamed:[UIUtil imageName:_pointer]

13. 获取主线程

1
define kMainThread (dispatch_get_main_queue())

14. 全局线程

1
define kGlobalThread dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
支付宝打赏 微信打赏

赞赏是对我们的肯定!