iOS - 自动提示宏的设置

作者: Mitchell | 来源:发表于2015-08-18 20:27 被阅读1000次
    作者:Mitchell 
    
    • 自动提示宏:就是在输入宏的时候有提示功能
    • 应用场景: 想输入对象的属性的时候有提示
    • 示例
    #define keyPath(objc,keyPath) @(((void)objc.keyPath, #keyPath))
    
    • 自动提示宏:(objc.keyPath)这一部分内容,仅仅是让你的宏具有提示功能
    • 为什么要加(void)?,这里是一个语法问题,逗号表达式的内容,
      • 例如:
    int a = (3,5);
    
    - a的值肯定是5,而且会报一个3没使用的警告,我们如何消除这个警告?
    
    int a = ((void)3,5);
    

    这样就会消除这个警告。
    - 那么这句话((void)objc.keyPath, #keyPath) 就会返回 #keyPath 内容,keyPath 就是我们对象的属性,但是这个时候返回的是属性,因为宏定义是 C 语言的内容所以我们先需要将内容转换为 C 语言的字符串,也就是#keyPath。
    - 这个时候返回的是 C 语言的字符串,而我们想要的是 OC 的字符串,直接使用 @()这个语法 就可以了。

    相关文章

      网友评论

      • 7a946bf5d2ca:崩溃 Format specifies type 'id' but the argument has type 'char *'

      本文标题:iOS - 自动提示宏的设置

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