iOS可变参数
官方的例子,留记
1 |
|
va_list:用来保存宏 va_start 、va_arg 和 va_end 所需信息的一种类型。为了访问变长参数列表中的参数,必须声明 va_list 类型的一个对象。
va_start:访问变长参数列表中的参数之前使用的宏,它初始化用va_list声明的对象,初始化结果供宏va_arg和va_end使用;
va_arg:展开成一个表达式的宏,该表达式具有变长参数列表中下一个参数的值和类型。每次调用 va_arg 都会修改,用 va_list 声明的对象从而使该对象指向参数列表中的下一个参数。
va_end:该宏使程序能够从变长参数列表用宏 va_start 引用的函数中正常返回。
参数结尾必须加上nil,表示参数结束,可以再参数后加上宏
NS_REQUIRES_NIL_TERMINATION,用于编译时非nil结尾的检查。
- (void) appendObjects:(id) firstObject, ...NS_REQUIRES_NIL_TERMINATION;