@BeeHiveService 前面的@ 可以理解调用宏定义吗
Opened this issue · 4 comments
jj89757hhb commented
@BeeHiveService(UserTrackServiceProtocol,BHUserTrackViewController)
#define BeeHiveService(servicename,impl)
class BeeHive; char * k##servicename##_service BeeHiveDATA(BeehiveServices) = "{ ""#servicename"" : ""#impl""}";
lyandy commented
@BeeHiveService(UserTrackServiceProtocol,BHUserTrackViewController)
#define BeeHiveService(servicename,impl)
class BeeHive; char * k##servicename##_service BeeHiveDATA(BeehiveServices) = "{ ""#servicename"" : ""#impl""}";
不是的
实际上是 @
和 宏里面的 class BeeHive
字符串拼接成 一个 forward class 类的声明 @class BeeHive
jj89757hhb commented
哦 , 那 ## 是什么意思呢
lyandy commented
哦 , 那 ## 是什么意思呢
##
是宏字符串连接
JianboYan commented
哦 , 那 ## 是什么意思呢
##
是宏字符串连接
其实不能叫字符串连接,应该算是字面量连接,毕竟是不带引号的