Lets assume that I've a function in a class, which shows an alert:
- (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];
}
I've a wrapper class, in which a method calls this method. My problem is how I have to implement this method?
This solution is not work:
- (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];
}
The invocation:
[self showErrorWithTitle1:@"Hello"
                 message:@"Example"
       cancelButtonTitle:@"No"
       otherButtonTitles:@"Yes, Maybe", nil];
