蛋疼,一朋友要这样写,所以我也就帮忙研究了下!
- (void)testArguments:(NSString *)argument,...
{
NSMutableArray *array = [NSMutableArrayarray];
DLog(@"arguments: %@",argument);
va_list list;
va_start(list, argument);
NSString *string = argument;
while(string){
if(![string isKindOfClass:[NSStringclass]]){ //为了跳出循环
break;
}
CFArrayAppendValue((CFMutableArrayRef)array, string); //把参数加入到数组
string = va_arg(list, NSString*); //获取下一个传进来的参数
}
va_end(list);
for(id obj in array){
DLog(@"打印的: %@",obj);
}
}
[selftestArguments:@"不错",@"很好",@"hello",@"good",nil];
或者
//[ViewController writeWithFormat:@"1", @"2", @"3", nil];
+ (
void
)__methodName__:(NSObject*)string, ... {
// parms must be end with nil
va_list args;
va_start(args, string);
if
(string) {
NSLog(
@"Do something with First: %@"
, string);
NSObject
*other;
while
((other = va_arg(args,
NSObject
*))) {
NSLog(
@"Do something with other: %@"
, other);
}
}
va_end(args);
}