美文网首页
iOS 宏定义中的#

iOS 宏定义中的#

作者: VinZZZZ | 来源:发表于2021-12-09 11:15 被阅读0次

    一个 # 号

    • 表示加双引号
    #define kToString(x) #x
    kToString(123) 等价于 "123"
    

    显然,这个一个C字符串。 要想变成OC的字符串,还需要改进一下:

    #define kToString(x) @""#x
    or
    #define kToString(x) @#x
    

    两个 ## 号

    • 表示连接
    #define kConnect(x,y) x##y
    kConnect(123,456) 等价于 123456
    

    x与 ## 以及 y之间可以有空格,会自动过滤

    等同于 #define kConnect(x,y) x   ##    y
    

    还有 #@

    • 表示加单引号
    #define kToChar(x) #@x
    当这样定义的时候
    

    系统抛出了一个红色警告⚠️

    '#' is not followed by a macro parameter
    Use of undeclared identifier 'x'
    

    参考

    https://www.jianshu.com/p/3995c4b3b2c4

    相关文章

      网友评论

          本文标题:iOS 宏定义中的#

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