iOS:项目中的宏定义的使用

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,976评论 25 708
  • 宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可...
    你好自己阅读 1,061评论 0 5
  • 宏,简单来说就是按预定义的规则来替换相应的文本内容,被替换的文本内容可以是对象也可以是函数。既然是替换,那就需要遵...
    金小俊阅读 4,703评论 6 54
  • http://www.open-open.com/lib/view/open1390651437117.html ...
    Xtuphe阅读 1,283评论 0 10
  • 反思系列之八——举重若轻2006-11-30 03:14:42) 字体大小:大|中|小2010-06-21 17:...
    b100f3a72f5d阅读 261评论 0 0