iOS之宏定义

iOS开发小技巧之--WeakSelf宏的进化

  • 宏定义不是C语句,也无须使用分号结束
  • 宏定义并不是变量,它甚至不是常量
  • 编译器对宏定义处理时“查找,替换”

执行宏定义之后,该宏的作用鱼尾从定义该宏开始,直到该源代码结束,如果希望提前结束宏定义,则可以使用如下语句:
#undef 宏名称

使用

#deinfe PI 3.1415

NSLog(@"%g",PI*r*r)

带参数的宏定义

#define 宏名称 (参数列表) 字符串
>建议将参数用括号括起来
#define ADD(r)  r+r 
#define ADD(r) (r)+(r)

#ifdef,#ifndef,#else,#endif 执行条件编译

可以根据机器环境镜像选择性编译,对于特定的设备,只编译该设备相关的代码,适用于版本判别

#ifdef 宏名称 //指定宏定义
    //todo
#else  //如果不存在定义的宏定义 
    //todo
#endif

#ifndef

如果没有定义指定的宏,则执行,同#ifdef

你可能感兴趣的:(iOS之宏定义)