iOS里面的三个点语法...即多参数,参数列表的使用方法

这里说的是OC里的三个点,自定义多参数方法,不是swift的


声明方法是:

- (void)test:(NSString *)buts , ... NS_REQUIRES_NIL_TERMINATION


NS_REQUIRES_NIL_TERMINATION表示必须以nil结尾


调用方法      [self test:@"1",@"2",@"3",@"4",nil];


实现方法

- (void)test:(NSString *)buts , ... NS_REQUIRES_NIL_TERMINATION{
    NSMutableArray *mutablArr = [[NSMutableArray alloc]initWithCapacity:5];
    
    va_list arglist;
    va_start(arglist, buts);
    
    NSLog(@"%@",buts);//1
    [mutablArr addObject:buts];
    
    id arg;
    while ((arg = va_arg(arglist, id))) {
        NSLog(@"%@",arg);//2,3,4
        [mutablArr addObject:arg];

    }
    va_end(arglist);
    
    NSLog(@"%@",mutablArr);//1,2,3,4
    
}


你可能感兴趣的:(ios)