我对目标 c 变量参数函数没有清晰的概念。我想编写一个函数,该函数将采用 nlsog 类型参数,但有时我会在该函数中使用 NSLog。我怎样才能做到这一点?
-(void) printStatus:(NSString*)status, ...
{
// I want use use NSLog with all these parameter here.
// some gui logging also happens here
}
通话会是这样的,
[self printStatus:@"status"];
或者
[self printStatus:@"Staus: %@", someObject];
而不是使用 NSLog,我想使用 printStatus。当我需要将控制台日志记录切换到 GUI 日志记录时,我只能更改为 printStatus 函数,而不是更改代码中的所有位置。
或者像我在这里使用的那样使用 DLog,
#ifdef DEBUG
# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
# define DLog(...) /* */
#endif