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

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

作者: 小明的知识库 | 来源:发表于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(@"温馨提示");区别, 也就是说@#可以代替@"" 那么我们以后开发就省事了, 不用再添加@""了!

相关文章

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

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

  • @weakify和@strongify实现分析

    在RAC里用@weakify和@strongify对block内使用self进行管理,这两个宏来自libextob...

  • const常量与define宏定义的区别

    在C++ 程序中只使用const常量而不使用宏常量,即const常量完全取代宏常量。以下是const和define...

  • 我是如何使用「宏」摆脱那些重复工作的

    友情提示:Excel 里使用宏,可以不需要编程基础,所以放心食用宏相关的文章。 之前分享了 Excel 里录制宏的...

  • C语言预处理命令的使用

    预处理命令 定义和使用宏 没有参数的宏 输出如下: 带参数的宏 输出和上一节相同。 可选参数 使用省略号...表示...

  • freemarker(三) 宏

    what 宏是在模板中使用macro指令定义 宏是和某个变量关联的模板片断,以便在模板中通过用户定义指令使用该变量...

  • OC&swift中的宏定义

    在使用OC和swift进行混编时,我们经常会需要在swift中使用OC中的宏定义,但是这些宏定义经常会提示无法找到...

  • 关于rust的“宏”

    一、概述 为了解决rust语法元素的扩展,并能复用现有的代码,在rust编写的程序中普遍使用宏.通过宏定义和宏调用...

  • MJExtension

    使用MJExtension 使用 可以在.m中使用宏 MJExtensionLogAllProperties 打印...

  • Swift学习笔记-1:小马哥微博项目

    ** 宏定义:**Swift中没有宏,使用其他的方法替代宏的功能,创建一个Swift文件:(使用起来和宏基本一样)...

网友评论

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

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