iOS 之 可变参数,可用于参数个数不确定,但类型相同的情况
/*
iOS的可变参数定义格式,调用时,可变参数的最后一定要用nil结尾
va_list 是定义了一个指针,指向可变参数
va_start(list, name) 这句话让指针指向可变参数的第一个参数
va_arg(list, id); 这句话获取当前指针指向的元素,并让指针指向下一个元素
va_end(list); 结束对可变参数的遍历
这种遍历方法 和 java的迭代器遍历相似
*/
- (void)showInfo:(NSString *)name, ... {
if (name) {
NSLog(@"%@", name);
va_list list;
va_start(list, name);
NSString *arg = arg = va_arg(list, id);
while (arg) {
NSLog(@"%@", arg);
arg = va_arg(list, id);
}
va_end(list);
}
}
/*
java的可变参数定义方法
java的可变参数相当于数组
*/
private void(int a, int ...arr);