美文网首页
iOS 开发中的 #define

iOS 开发中的 #define

作者: NapoleonY | 来源:发表于2020-11-10 15:17 被阅读0次

    基本使用

    • #define PI 3.14

    define 函数

    #define SQUARE(x) ( (x) * (x) )
    
    此时, y = SQUARE(v + 1); 等价于 y = ( (v + 1) * (v + 1) );
    

    注意括号问题

    多个参数的宏方法

    #define Array(FIRST, ...) [NSArray arrayWithObjects: FIRST, ##__VA_ARGS__, nil]
    

    #算符以及 ##算符

    #算符可产生一个 C-语言 格式的字符串
    #define Str(x) #x
    #define Str(x) "aaa"#x Str(1)表示字符串"aaa1"

    ##算符可以用来连接两段字符串,也可用来生成符合的变量名

    常用的宏

    1. 表示在模拟器中
    #if TARGET_IPHONE_SIMULATOR
    #endif
    
    1. 可以在项目中 Build Settings Preprocessor Macros 设置预编译宏,然后可以根据不同的 target 跑不同的代码了
    #if defined(ABC) // 表示是否宏定义了 ABC,不管 ABC值是多少
    #endif
    
    // 或者
    #if ABC // 表示宏定义了 ABC,并且 ABC 值不为 0
    #endif
    

    参考

    1. 《iOS三问》--#define用法大全

    相关文章

      网友评论

          本文标题:iOS 开发中的 #define

          本文链接:https://www.haomeiwen.com/subject/pcrjbktx.html