方法声明与一般声明不同

时间:2013-01-23 11:46:24

标签: ios objective-c cocoa variadic-functions

调试时我找到了这个方法。

   - (void)sendPublicEvent:(NSInteger)type, ... KNCONTANT_VALUE

方法声明与生成方法声明不同。

我不明白为什么它在类型,... KNCONTANT_VALUE`之后的后缀 我想知道为什么方法声明不同,任何一个建议我! @thanks in Advance

1 个答案:

答案 0 :(得分:1)

此方法采用可变参数。

见这个例子:

在.h

-(void)variableArgument:(NSString *)string, ...;

在.m

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

并且KNCONTANT_VALUE表明这应该是整数值之后的最后一个常量值。

当我们处理字符串时,我们使用:-(void)variableArgument:(NSString *)string, ... NS_REQUIRES_NIL_TERMINATION;