期待')' xcode中的错误

时间:2015-02-04 03:58:26

标签: objective-c swift

我创建了一个CLogger目标C类,并在下面定义了宏:

#define CLogError(fmt, ...) [[CLogger defaultLogger] log:@"Error" format:(LOG_FORMAT fmt), [[NSString stringWithUTF8String:__FILE__] lastPathComponent], LINE, PRETTY_FUNCTION, ##__VA_ARGS__]

我可以访问目标C文件中的CLogError并调用它。但是在swift文件中无法访问上面的宏。所以我创建了一个静态内联方法作为swift的包装器来间接调用宏。但是当我将参数传递给宏时,我在xcode中得到expected ')'错误。如果我在宏中硬编码字符串,则同样有效。我在这里做错了吗?

static inline void logEvent(NSString* msg)
{
    CLogError("Invalid Json");// it works
    CLogError(@"nsstring");// it works

    CLogError(msg);// didn't work
}

1 个答案:

答案 0 :(得分:1)

#define CLogError(fmt, ...) [[CLogger defaultLogger] log:@"Error" format:(LOG_FORMAT fmt), [[NSString stringWithUTF8String:__FILE__] lastPathComponent], LINE, PRETTY_FUNCTION, ##__VA_ARGS__]

(LOG_FORMAT看起来不应该存在。我想你只想要:

#define CLogError(fmt, ...) [[CLogger defaultLogger] log:@"Error" format:(fmt), [[NSString stringWithUTF8String:__FILE__] lastPathComponent], LINE, PRETTY_FUNCTION, ##__VA_ARGS__]