在iOS要實現(xiàn)不定參數(shù)的函數(shù),有一個方案是用C/C++中的va_list、va_start、va_arg、va_end來實現(xiàn)。這樣實現(xiàn)需要一個哨兵參數(shù),就是調(diào)用方法是最后必須要加一個nil或者0的參數(shù),該參數(shù)就稱為哨兵參數(shù) for example :?
?-?(void)mutableParamList:(NSString?*)fistPara,?...??
{??
va_list?arguments;??
id?eachObject;??
if?(fistPara)?{??
NSLog(@"%@",fistPara);??
????????va_start(arguments,?fistPara);??
while?((eachObject?=?va_arg(arguments,?id)))?{??
NSLog(@"%@",eachObject);??
????????}??
????????va_end(arguments);??
????}??
}??
'''??
[self?mutableParamList:@"aaaa",@"bbbb",@"cccc",@"dddd",nil];?
本文參考網(wǎng)上的資料,僅此記錄。