一个 # 号
- 表示加双引号
#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
还有 #@
- 表示加单引号
#define kToChar(x) #@x
当这样定义的时候
系统抛出了一个红色
警告⚠️
'#' is not followed by a macro parameter
Use of undeclared identifier 'x'
参考
http://www.cppblog.com/kerlw/archive/2007/04/20/22381.html
一行代码,在任何 view 内进行 Push、Present
https://github.com/xjh093/JHPP