iOS之VA_LIST初次使用
来源:互联网 发布:任我游软件 编辑:程序博客网 时间:2024/06/06 03:36
首先介绍下VA_LIST,VALIST是C语言中解决变参问题的一组宏,在头文件<stdarg.h>中。
在平常我们会为了让代码更加的简洁可扩展,我们定义的方法或者函数的参数的不定的,所以,VA_LIST可以很好的解决这个问题,废话少说,上代码:
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *array = [selftest:@"test1",@"test2",@"test3",nil];
NSLog(@"%@",array);
}
-(NSMutableArray *)test:(NSString *)p1,...
{
NSMutableArray *array = [NSMutableArrayarray];
// 定义一具VA_LIST型的变量,这个变量是指向参数的指针
va_list list;
id tag;
// 用VA_START宏初始化刚定义的VA_LIST变量
va_start(list, p1);
// VA_ARG返回可变的参数,VA_ARG的第二个参数是你要返回的参数的类型,如果函数有多个可变参数的,依次调用VA_ARG获取各个参数
while ((tag = va_arg(list, id))) {
[array addObject:tag];
}
// 用VA_END宏结束可变参数的获取
va_end(list);
return array;
}
@end
打印结果如下:
可见,打印出的传递的除第一个参数之外的参数,这样,我们可以在test方法中根据参数的不同而处理不同的业务逻辑。
- iOS之VA_LIST初次使用
- iOS va_list可变参数使用
- phpunit菜鸟之初次使用
- 学习easyUI之初次使用
- iOS 中的 va_list\va_arg\va_start和va_end的使用
- iOS 使用可变参数va_list, 定义一个方法
- iOS va_list,va_start,va_end
- mahout入门之初次使用mahout
- python学习之--Django--初次使用templates
- cocos2d-x 入门之初次使用
- 微服务之 -- dubbox初次使用
- JHipster-- 初次使用之创建实体
- Maven初次使用之问题整理
- Maven初次使用之项目打包
- Maven初次使用之问题整理
- 新手入门杂文之va_list
- 新手入门之va_list
- va_list使用及原理
- 文件操作2之plist文件操作
- 阿里云的配置笔记
- 搭建_DG 几个需要理解的名词
- 你知道我再等你的
- Data Guard 启动顺序
- iOS之VA_LIST初次使用
- 说些什么
- 打包失败Failed to export application 之完美解决办法
- C++典型书籍
- Linux下编译安装mysql-5.0.45.tar.gz
- JNI学习笔记——局部和全局引用
- Android开发笔记(成长轨迹)
- 慕课网“顶尖分享”上线,时效课程赢得用户芳心
- primer 1013