Имея некоторые проблемы с ...
в ObjectiveC.Objective-C, проходящий вокруг ... nil завершенных списков аргументов
Я в основном обертываю метод и хочу принять завершенный список nil
и передать тот же самый список методу, который я обертываю.
Вот что у меня есть, но это приводит к аварии EXC_BAD_ACCESS
. Осмотр местного ВАРА, он появляется, когда otherButtonTitles
просто NSString
, когда он проходит через otherButtonTitles:@"Foo", nil]
+ (void)showWithTitle:(NSString *)title
message:(NSString *)message
delegate:(id)delegate
cancelButtonTitle:(NSString *)cancelButtonTitle
otherButtonTitles:(NSString *)otherButtonTitles, ...
{
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:title
message:message
delegate:delegate
cancelButtonTitle:cancelButtonTitle
otherButtonTitles:otherButtonTitles] autorelease];
[alert show];
}
Как просто сифон от аргумента входящего аргументу исходящего, сохраняя тот же nil
прекращен список?
Первый объект в списке VARIADIC метод не является частью самого va_list, поэтому вы видите otherButtonTitles как в NSString. То есть, va_list содержит только объекты в разделе «...». – Don
Поскольку Objective-C является надмножеством C, ср. http://stackoverflow.com/questions/150543/forward-an-invocation-of-a-variadic-function-in-c. – Don