iOS开发之多参数实现

// 声明

/**
 *  @brief 多参数的实现
 *
 *  @param first 
 */
- (void)test:(NSString *)first,...NS_REQUIRES_NIL_TERMINATION;

// 实现

//可变参数 mutable parama 

- (void)test:(NSString *)first,...{
    
    //参数链表指针
    
    va_list list;
    
    //遍历开始
    
    va_start(list, first);
    
    //直到读取到下一个时nil时结束递增
    
    for (NSString *str = first; str != nil; str = va_arg(list, NSString*)) {
        
        NSLog(@"%@",str);
    }
    
    //结束遍历
    va_end(list);
    
}

/// 使用

- (void)viewDidLoad {
    
    [super viewDidLoad];

   [self test:@"ATR1",@"STR3", nil];
}
comments powered by Disqus