OC处理可变参数的方法

Objective-C 处理可变参数

va_list
这是一个类型, 用于定义指向可变参数列表的指针变量

va_start
这是一个函数, 指定开始处理可变形参的列表, 并让指针变量指向可变形参的第一个参数

va_end
结束处理可变形参, 并释放指针

va_arg
该函数返回指针变量当前指向的参数的值, 并让指针变量指向下一个参数

 

- (void)testMultiple:(NSString *)name ... {
    
    // 定义va_list变量(指针)
    va_list arg_list;

    if (name) {
        
        // 把arg_list指向name这个可变形参的第一个位置
        va_start(arg_list, name);

        // 提取一个参数, 返回一个NSString*, 并将指针后移
        NSString *temp_arg = va_arg(arg_list, id);
        while (temp_arg) {
            NSLog(@"%@", temp_arg);
            // 继续后移, 遇到nil跳出循环
            temp_arg = va_arg(arg_list, id);
        }

        va_end(arg_list);

    }

}

 

转载于:https://www.cnblogs.com/AirStark/p/8024986.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值