美文网首页
## 和 @# 在宏里面的使用

## 和 @# 在宏里面的使用

作者: 小明的知识库 | 来源:发表于2016-08-22 09:48 被阅读0次
    #define LRWeakSelf(type)  __weak typeof(type) weak##type = type;
    

    如上面的这个宏,##是连接的作用, 即当使用上面的宏会把weak与输入的type值连接起来如下图:

    LRWeakSelf(self);
    weakself.view.backgroundColor = [UIColor whiteColor];
    

    是用来连接上面的 weak和type, 所以拼接之后就直接成为了weakself

    @#的使用, 我们添加一个普通的宏:

    //随便写一个宏
    #define LRToast(str) [NSString stringWithFormat:@"%@",str]
    //这个宏需要这样写
    LRToast(@"温馨提示");
    NSLog(@"%@",LRToast(@"温馨提示"));
    
    //随便写一个宏
    #define LRToast(str) [NSString stringWithFormat:@"%@",@#str]
    //这个宏需要这样写
    LRToast(温馨提示);
    //正常运行, 打印不会报错
    NSLog(@"%@",LRToast(温馨提示));
    

    我们可以看出来 LRToast(温馨提示);与LRToast(@"温馨提示");区别, 也就是说@#可以代替@"" 那么我们以后开发就省事了, 不用再添加@""了!

    相关文章

      网友评论

          本文标题:## 和 @# 在宏里面的使用

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