我可以传递给一个方法的参数的数量是否有限制?

我只是想知道是否有一个限制,我可以通过使用以下风格传递给Objective-C中的方法:

- (void)example:(int)i forTime:(int)i forDate:(NSDate *)date etc etc

这当然是假设的,但我觉得知道这种限制背后的原因很有趣(例如URL等字符限制),并且我喜欢在StackOverflow上看到其他人对这些问题的看法

即使对允许传递的参数数量有限制,是否仍有可能将NSArray的包含对象作为参数传递,然后在使用objectAtIndex的方法中从数组中调用这些对象?


按照Hot Licks的建议,我很快在C中编写了一个简短的程序,以根据所需输入的参数数量生成测试方法和调用。 刚做了一个方法,需要1000个NSNumber参数,它工作正常。 在我的监视器上用Xcode编了两页,但没有任何警告或任何东西。 稍后可能会尝试10,000次,但似乎没有硬件功能强加的限制等。


不,参数的数量没有限制

唯一的限制因素是给定体系结构上进程的堆栈大小,因为方法参数放在堆栈上。

链接地址: http://www.djcxy.com/p/11169.html

上一篇: Is there a limit to the amount of arguments I can pass to a method?

下一篇: RazorEngine Memory Usage