//-------------------------- 方法申明 --------------------------

/**

 *  模仿UIAlertView方法

 *

 *  @param argument 不定参数个数

 */

- (void)copyAlertViewMethod:(id)argument, ... NS_REQUIRES_NIL_TERMINATION;//加了NS_REQUIRES_NIL_TERMINATION自动补齐功能就会自动在后面加nil

 

//-------------------------- 实现 -------------------------- 

- (void)copyAlertViewMethod:(id)obj, ... {

    va_list arguments;

    id eachObj;

    if (obj == nil) {

        return;

    }

 

    NSLog(@"obj:%@", obj);

    va_start(arguments, obj);

    while ((eachObj = va_arg(arguments, id))) {

        NSLog(@"obj:%@", eachObj);

    }

    va_end(arguments);

}

 

//-------------------------- 方法调用 -------------------------- 

[self  copyAlertViewMethod:@"first", @"7", @"8", @"last", nil];