c/c++语言开发共享Objective-c:在方法中访问可变参数


可能重复:
如何在Objective-C中创建变量参数方法
Objective C中可变数量的方法参数 – 需要一个例子

以下是具有可变参数的方法的示例。

- (void)numberOfParameters:group,... { NSLog(@"%@",group); } 

在上面的方法中,我知道访问第一个可变参数。 你能帮助我访问其他人吗?

我正在阅读ObjC.pdf并且我正在阅读第35页,行号是4

    看到这个几乎相同的问题

     -(void)yourMethods:(id)string1, ...{ NSMutableArray *arguments=[[NSMutableArray alloc]initWithArray:nil]; id eachObject; va_list argumentList; if (string1) { [arguments addObject: string1]; va_start(argumentList, string1); while ((eachObject = va_arg(argumentList, id))) { [arguments addObject: eachObject]; } va_end(argumentList); } NSLog(@"%@",arguments); } 

    最后用nil参数调用它:

     [object yourMethods:arg1,arg2,arg3,nil];// object can be self 

    一:它们不被称为“组参数”(据我所知),而是可变参数。

    二:C标准库头stdarg.h为此目的提供数据类型和宏(这就是为什么我通常建议先制作普通的’ANSI C,然后制作最好的iPhone App Ever(TM) ……)

     #include  - (void)numberOfParameters:(int)num, ... { int i; va_list args; va_start(args, num); for (i = 0; i < num; i++) { SomeType param = va_arg(args, SomeType); // do something with `param' } va_end(args); } 

    这是关于这个主题的一个相当好的解释 。

      以上就是c/c++开发分享Objective-c:在方法中访问可变参数相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/562365.html

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐