您的位置:首页 > 移动开发 > IOS开发

iOS 不定参数 av_list

2015-09-29 08:52 666 查看
http://blog.csdn.net/grozy_sun/article/details/27634575?utm_source=tuicool

仍然需要使用C标准库中的av_list

- (void)viewDidLoad {

[superviewDidLoad];

//http://blog.csdn.net/grozy_sun/article/details/27634575?utm_source=tuicool

[selflist:@"123",@"456",nil];

[selfstrFormat:@"123~~%@",@"124"];
}

- (void)strFormat:(NSString *)format,...{
va_list args;
va_start(args, format);
NSString *message = [[NSStringalloc]initWithFormat:formatarguments:args];
va_end(args);

NSLog(@"%@",message);
}

- (void)list:(NSString *)string,...{

//定义一个指向个数可变的参数列表指针

va_list args ;
// typedef char* va_list;

//对args(列表指针)进行初始化,它指向可变参数表里面的第一个参数\

第一个参数是args本身,第二个参数是在变参表前面紧挨着的一个变量,即“...”之前的那个参数;

va_start(args, string);

if (string) {

NSString *otherString ;

NSLog(@"%@",string);
//输出第一个字符串

while (1) {

//va_arg:
第二个参数是获取了类型。然后返回这个指定类型的值

//并把args的位置指向变参表的下一个变量位置
otherString =
va_arg(args, NSString *);

if (otherString ==
nil) {

break;
}else{

NSLog(@"%@",otherString);
}
}
}

//va_end(arg_ptr):清空参数列表,并置参数指针arg_ptr无效

//获取完成后,需要将指针关掉,以避免发生危险

va_end(args);
}

2015-09-29 08:50:37.208多参传入[912:31285] 123
2015-09-29 08:50:37.208多参传入[912:31285] 456
2015-09-29 08:50:37.209多参传入[912:31285] 123~~124
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: