,...可变参数使用

-(void) xxxxxxx :(NSString *)firstObj,...{

    va_list argList;

    if (firstObj) {

      // VA_START宏,获取可变参数列表的第一个参数的地址,在这里是获取firstObj的内存地址,这时argList的指针指向firstObj

        va_start(argList, firstObj);

        // 临时指针变量

        id temp;

        // VA_ARG宏,获取可变参数的当前参数,返回指定类型并将指针指向下一参数

        // 首先 argList的内存地址指向的fristObj将对应储存的值取出,如果不为nil则判断为真,将取出的值房在数组中,

//        并且将;指针指向下一个参数,这样每次循环argList所代表的指针偏移量就不断下移直到取出nil

        while ((temp = va_arg(argList, id))) {

              NSLog(@"%@",temp);

        }

    }

    // 清空列表

    va_end(argList);

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值