【问题标题】:How can i pass the "..." param to UIAlertView's "..." [duplicate]我如何将“...”参数传递给 UIAlertView 的“...” [重复]
【发布时间】:2015-05-07 04:02:59
【问题描述】:

这是控制台中的消息

- (instancetype)initWithTitle:(NSString *)title
                  message:(NSString *)message
        cancelButtonTitle:(NSString *)cancelButtonTitle
        otherButtonTitles:(NSString *)otherButtonTitles, ...
{
if (self = [super initWithTitle:title message:message
                       delegate:delegate
              cancelButtonTitle:cancelButtonTitle
              otherButtonTitles:XXXX]) {
}
return self;
}

【问题讨论】:

标签: ios objective-c variadic-functions


【解决方案1】:

在 super 调用之前插入 this,并使用 ap 作为 ... 变量参数参数。

va_list ap;
va_start(ap, otherButtonTitles);

// Replace your XXXX with ap

va_end(ap);

【讨论】:

  • @rmaddy what says it wont work?我以前做过。
  • 让我澄清一下。是的,您可以传递ap if(这是一个很大的 if),另一种方法具有va_list 类型的参数(就像您在评论中链接的答案的最后一个方法一样)。但这不是问题。问题是如何将变量参数从一个使用... 语法的方法传递到另一个同样使用... 语法的方法。那是做不到的。您不能将答案中的 ap 传递给具有 ... 语法的方法。
猜你喜欢
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 2012-09-11
相关资源
最近更新 更多