-(void)
xxxxxxx
:(NSString *)firstObj,...{
va_list argList;
if (firstObj) {
// VA_START宏,获取可变参数列表的第一个参数的地址,在这里是获取firstObj的内存地址,这时argList的指针指向firstObj
va_start(argList, firstObj);
// 临时指针变量
id temp;
// VA_ARG宏,获取可变参数的当前参数,返回指定类型并将指针指向下一参数
// 首先 argList的内存地址指向的fristObj将对应储存的值取出,如果不为nil则判断为真,将取出的值房在数组中,
// 并且将;指针指向下一个参数,这样每次循环argList所代表的指针偏移量就不断下移直到取出nil
while ((temp = va_arg(argList, id))) {
NSLog(@"%@",temp);
}
}
// 清空列表
va_end(argList);
}