什么是D / B NSLog和NSLogv?

时间:2016-12-07 08:06:11

标签: ios objective-c xcode nslog

我遵循官方Apple的文档,但我似乎没有任何相关的答案。

NSLog VS NSLogv

2 个答案:

答案 0 :(得分:0)

没有区别,NSLog用参数调用NSLogv。因此,如果您使用NSLog的某个参数,NSLog重新调用NSLogv函数。

答案 1 :(得分:0)

NSLog的变种接受名为NSLogv的va_list:

- (void) log:(NSString *)text, ... {
  va_list args;
  va_start(args, text);
  NSLogv(text, args);
  va_end(args);
}

转发实际...(不是va_list)的唯一方法是使用宏。例如:

#define MyLog(f, ...) { \
NSLog(f, ##__VA_ARGS__); \
[someObject doSomething:f, ##__VA_ARGS__]; \
}