iOS中常见的一些宏

1.处理NSLog事件(开发者模式打印,发布者模式不打印)

#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(FORMAT, ...) nil
#endif
#ifdef DEBUG
#define NSLog(fmt, ...) NSLog((@"||方法名:%s || [行数:%d] || " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define NSLog(...)
#endif

2.在OC语言的情况下导入某些头文件

 #ifdef __OBJC__
 //导入头文件
 #endif

3.处理循环引用问题(处理当前类对象)

#define WS(weakSelf)  __weak __typeof(&*self)weakSelf = self;

4.设置颜色RGB值

 #define RGB(a,b,c) [UIColor colorWithRed:(a/255.0) green:(b/255.0) blue:(c/255.0) alpha:1.0]

5.设置颜色RGB值+透明度

 #define RGBA(a,b,c,d) [UIColor colorWithRed:(a/255.0) green:(b/255.0) blue:(c/255.0) alpha:d]

6.设置随机色
#define LRRandomColor [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1.0]

7.设置view的圆角边框

#define LRViewBorderRadius(View, Radius, Width, Color)\\
[View.layer setCornerRadius:(Radius)];\
[View.layer setMasksToBounds:YES];\
[View.layer setBorderWidth:(Width)];\
[View.layer setBorderColor:[Color CGColor]]

你可能感兴趣的:(iOS中常见的一些宏)