Ios 如何使方法在objective-c中接受无穷多个参数?

Ios 如何使方法在objective-c中接受无穷多个参数?,ios,objective-c,Ios,Objective C,我想让这个方法在objective-c中取无穷多个参数并添加这些参数。我假设无穷多是指我想要的数量,只要内存允许 传递一个NSArray类型的参数。用你想要的尽可能多的论点来填充它 如果所有参数都保证为非对象数据类型-i。Eint、long、char、float、double、struct和它们的数组——使用NSData可能更好。但在二进制blob中识别单个值将更为棘手 既然你想把它们加起来,我假设它们是数字。它们都是相同的数据类型吗?然后传递一个数组和一个老式的C数组或指针,以及一些元素 编辑

我想让这个方法在objective-c中取无穷多个参数并添加这些参数。

我假设无穷多是指我想要的数量,只要内存允许


传递一个NSArray类型的参数。用你想要的尽可能多的论点来填充它

如果所有参数都保证为非对象数据类型-i。Eint、long、char、float、double、struct和它们的数组——使用NSData可能更好。但在二进制blob中识别单个值将更为棘手

既然你想把它们加起来,我假设它们是数字。它们都是相同的数据类型吗?然后传递一个数组和一个老式的C数组或指针,以及一些元素


编辑:现在我想起来了,整个设计是可疑的。您需要一个接受任意多个参数并将其相加的方法。但是,将它们传递到函数中所需的键入工作与将它们相加所需的键入工作是相当的。如果您有一个varargs函数,那么Suma、b、c、d、e比a+b+c+d+e需要更少的输入。如果您有一个容器类NSArray、NSData等,则必须循环使用加法器;当你这么做的时候,你最好把它们加起来。

这在有限的机器上是不可能的,也就是说,所有现有的计算机


如果你对变量很在行,但是参数数量有限,那么有C的

传递一个double类型的参数。将C99的无穷大作为值传递。收件人:幽默comment@NikolaiRuhe1.0/0.0使其与C89兼容:P@H2CO3这取决于架构。C89 IEEE 754不保证非信号零除。你能用你解释的方式给我举一个使用NSData的例子吗?没有足够的信息。只有当您有多个不同数值类型的数字参数时,NSData方法才有意义。我不知道情况是否如此。