OC_可变参数

- (NSString*)setNameFormate:(NSString*)format, ...NS_FORMAT_FUNCTION(1,2);

- (NSString*)setNameFormate:(NSString*)format, ... {

//va_list用于声明一个变量,我们知道函数的可变参数列表其实就是一个字符串,所以va_list才被声明为字符型指针,这个类型用于声明一个指向参数列表的字符型指针变量,例如:va_list ap;//ap:arguement pointer

va_listargs;

//va_start(ap,v),它的第一个参数是指向可变参数字符串的变量,第二个参数是可变参数函数的第一个参数,通常用于指定可变参数列表中参数的个数。

va_start(args, format);

NSString*str = [[NSStringalloc]initWithFormat:formatarguments:args];

//va_arg(ap,t),它的第一个参数指向可变参数字符串的变量,第二个参数是可变参数的类型。

//va_end(ap)用于将存放可变参数字符串的变量清空(赋值为NULL)。

va_end(args);

returnstr;

}

你可能感兴趣的:(OC_可变参数)