IOS--宏定义

1.最普通的一种

#define PI 3.1415927

2.带参数的宏定义

#define GIRTH(r) PI * 2 * r

3.条件编译

#ifdef  宏名称
    //任意语句
#endif
#ifdef 宏名称
    //任意语句
#else
    //任意语句
#endif

4.使用#if #elif #else #endif 执行条件编译

#define ACE 25
...

    #if ACE > 60
        NSLog(@"老年人");
    #elif ACE > 40
        NSLog(@"中年人");
    #else ACE > 20
        NSLog(@"青年人");
    #else 
        NSLog(@"少年人");

...

这种条件编译的存在价值:这种编译是预处理,比起普通的if分支语句,它不会生成执行性指令,代码执行效率更高

5.NSLogin()  

#ifdef DEBUG
#define NSLog(...) printf("%f %s
",[[NSDate date] timeIntervalSince1970],[[NSString stringWithFormat:__VA_ARGS__]UTF8String]);
#else
#define NSLog //NSLog
#endif

#endif /* HMReader_pch */
原文地址:https://www.cnblogs.com/qiyiyifan/p/7263120.html