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

2016-08-22  本文已影响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(@"温馨提示");区别, 也就是说@#可以代替@"" 那么我们以后开发就省事了, 不用再添加@""了!

上一篇下一篇

猜你喜欢

热点阅读