首页 > 代码库 > 多参数的接法

多参数的接法


-(id) initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles,...NS_REQUIRES_NIL_TERMINATION;


关于多参数的接法;

va_list argumentList;

NSMutableArray * arrlist = [NSMutableArrayarray];

if(otherButtonTitles){

       [arrlist addObject:otherButtonTitles];

va_start(argumentList, otherButtonTitles);


while (NSString * eachobject = va_arg(argumentList, id))

           [arrlist addObject:eachobject];

va_end(argumentList);

}

只不过这是用c++


va_list argumentList;

va_start(argumentList, otherButtonTitles);


NSMutableArray * arr = [NSMutableArray array];

for (NSString * eachobject = otherButtonTitles; eachobject != nil; eachobject = va_arg(argumentList,id )) {

       [arr addObject: eachobject];

   }

va_end(argumentList);

这样也蛮好