宏导致编译器错误,名称为NSString变量

达伦

我正在尝试定义这样的宏:

#define LogMethod(uuid) [LogManager logString:[NSString stringWithFormat:@"%s", __PRETTY_FUNCTION__] uuid:(uuid)];

并这样称呼它:

NSString *stringUUID = [[NSUUID UUID] UUIDString];
LogMethod(stringUUID)

但是我得到一个编译器错误

选择器'logString:stringUUID:'的未知类方法

看来它是stringUUID作为字符串而不是对象的字符串传递的。是否可以像这样将对象传递给C宏?

Trojanfoe

预处理器对此uuid:uuid感到困惑,并将其扩展到stringUUID:stringUUID

尝试:

#define LogMethod(x) [LogManager logString:[NSString stringWithFormat:@"%s", __PRETTY_FUNCTION__] uuid:(x)];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章