title: Objective C - Invoke a method with variable argument list (NS_REQUIRES_NIL_TERMINATION)
body: <p>Lets assume that I've a function in a class, which shows an alert:</p>
  
  <pre><code>- (void)showErrorWithTitle:(NSString *)title message:(NSString *)message
           cancelButtonTitle:(NSString *)cancelButtonTitle 
           otherButtonTitles:(NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;
  
  - (void)showErrorWithTitle:(NSString *)title message:(NSString *)message
           cancelButtonTitle:(NSString *)cancelButtonTitle 
           otherButtonTitles:(NSString *)otherButtonTitles, ... {
  
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
                                                      message:message
                                                     delegate:nil
                                            cancelButtonTitle:cancelButtonTitle
                                            otherButtonTitles:nil];
  
      va_list args;
      va_start(args, otherButtonTitles);
      for (NSString *arg = otherButtonTitles; arg != nil; arg = va_arg(args, NSString*))
      {
          [alert addButtonWithTitle:arg];
      }
      va_end(args);
  
      [alert show];
      [alert release];
  }
  </code></pre>
  
  <p>I've a wrapper class, in which a method calls this method. My problem is how I have to implement this method?</p>
  
  <p>This solution is not work:</p>
  
  <pre><code>- (void)showErrorWithTitle1:(NSString *)title message:(NSString *)message 
            cancelButtonTitle:(NSString *)cancelButtonTitle 
            otherButtonTitles:(NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;
  
  - (void)showErrorWithTitle1:(NSString *)title message:(NSString *)message 
            cancelButtonTitle:(NSString *)cancelButtonTitle 
            otherButtonTitles:(NSString *)otherButtonTitles, ... {
  
      [[Someclass intance] showErrorWithTitle:title
                                      message:message
                            cancelButtonTitle:cancelButtonTitle
                            otherButtonTitles:otherButtonTitles, nil];
  }
  </code></pre>
  
  <p>The invocation:</p>
  
  <pre><code>[self showErrorWithTitle1:@"Hello"
                   message:@"Example"
         cancelButtonTitle:@"No"
         otherButtonTitles:@"Yes, Maybe", nil];
  </code></pre>