iOS 常用宏定义
2016-04-18 本文已影响772人
jianshu_wl
iOS 开发中使用一些常用宏定义可以大大提高开发效率,提高代码的重用性.
以下是一些常用的宏定义:
//屏幕宽、高
#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
//1个像素的宽度
#define SINGLE_LINE_WIDTH (1.0f/[UIScreen mainScreen].scale)
//系统版本
#define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]
//图片
#define ImageWithName(A) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:A ofType:nil]]
//rgb颜色(十进制)
#define UIColorFromRGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
//rgb颜色(十六进制)
#define UIColorFromHexValue(HexValue) [UIColor colorWithRed:((float)((HexValue & 0xFF0000) >> 16))/255.0 green:((float)((HexValue & 0xFF00) >> 8))/255.0 blue:((float)(HexValue & 0xFF))/255.0 alpha:1.0]
//将对象转换成弱引用类型,有block时使用
#define WeakObj(obj) __block __weak typeof(obj) weak_##obj = obj
//document目录
#define DOCUMENT NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject
//DEBUG模式下,打印日志(包括函数名、行号)
#ifdef DEBUG
# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
# define DLog(...)
#endif
像这些宏定义,在工程中全局都需要经常使用,我们可以把它放入工程中的PrefixHeader.pch
文件中.具体步骤如下:
- 新建
PrefixHeader.pch
文件,如图:
- 在
PrefixHeader.pch
中添加我们需要使用的宏定义,如图:
-
在 Prefix Header 设置路径, 具体位置在 TARGET ->Build Settings -> Prefix Header 中,如图:
这样我们的 pch 文件就添加完成了, 工程中全局就可以使用这些宏定义了.