我在Apple文档中读到,我们可以在目标c方法调用中使用可选参数。来自Apple文档的示例:
接受可变数量参数的
方法也是可能的,尽管它们比较少见。额外的参数在方法名称结束后用逗号分隔。(与冒号不同,逗号不被视为名称的一部分。)在下面的示例中,向假想的makeGroup:方法传递了一个必需参数(组)和三个可选参数:
[receiver makeGroup:group, memberOne, memberTwo, memberThree];有人能告诉我们什么时候使用这个功能吗?Apple中有什么例子吗?
谢谢
发布于 2012-06-16 22:55:35
我写过一两次这样的方法。有点疼。它的工作原理非常类似于分析C程序中的命令行。
我现在不记得我在哪里找到了关于如何做它的文档。如果我没记错,它使用的是函数va_start()和va_end()。
这种方法的一个主要缺点是,以逗号分隔的参数列表不进行类型检查,并且没有像在正常方法中那样有标签。
使用这种方法的主要方法是在像NSArray的arrayWithObjects这样的方法中,您需要允许任意类型的参数或NSLog的可变大小的列表。
https://stackoverflow.com/questions/11067358
复制相似问题