Objective-C 处理可变参数
va_list
这是一个类型, 用于定义指向可变参数列表的指针变量
va_start
这是一个函数, 指定开始处理可变形参的列表, 并让指针变量指向可变形参的第一个参数
va_end
结束处理可变形参, 并释放指针
va_arg
该函数返回指针变量当前指向的参数的值, 并让指针变量指向下一个参数
- (void)testMultiple:(NSString *)name ... { // 定义va_list变量(指针) va_list arg_list; if (name) { // 把arg_list指向name这个可变形参的第一个位置 va_start(arg_list, name); // 提取一个参数, 返回一个NSString*, 并将指针后移 NSString *temp_arg = va_arg(arg_list, id); while (temp_arg) { NSLog(@"%@", temp_arg); // 继续后移, 遇到nil跳出循环 temp_arg = va_arg(arg_list, id); } va_end(arg_list); } }