iOS项目中加入宏定义,可以提高代码效率
我今天总结了一下项目中经常用到的宏,给大家分享一下,希望各位能够互相交流,共同进步。
你有一个苹果,我有一个梨,我们各拿出一半交换一下,两个人都能吃到两种水果的味道。
你有一个艾迪儿,我有一个艾迪儿,交换一下每个人都有两个艾迪儿。
废话不多说,上代码
#define kApplicationWidth [[UIScreen mainScreen] bounds].size.width//屏幕宽度
#define kApplicationHeight [[UIScreen mainScreen] bounds].size.height//屏幕高度
/**
* 保证返回值部位nil
*/
// 对字符串做特殊的宏,即保证返回的值不为空
#define ISNIL(x) ((x) == nil ? @"" : (x))
#define ISNILDefault(x, y) ((x) == nil ? y : (x))
#define ISNULL(x) ((x) == nil || [(x) isEqualToString:@"null"] ? @"" : (x))
/**
* RGB颜色
*/
#define kColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]
1)输出日志是会大量损耗系统性能
2)输出的信息很容易会被截取到,导致信息不安全。
使用如下的宏定义可以在debug模式下获得打印信息,release模式下
不会打印
/**
* 可打印出打印的行数和
*/
#ifndef __OPTIMIZE__
#define BXLog(x, ...) NSLog(@"%s %d行: " x, __FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define BXLog(...) /* */
#endif