繁体   English   中英

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

[英]Is there a limit to the amount of arguments I can pass to a method?

我只是想知道我可以使用以下样式传递给Objective-C中的方法的参数数量是否有限制:

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

这当然是假设的,但我发现知道这些限制背后的原因很有意思(例如URL中的字符限制等),我喜欢在StackOverflow上看到其他人对这些问题的看法

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

我很快在C中编写了一个简短的程序来生成一个测试方法,并根据Hot Licks的建议,根据所需输入的参数数进行调用。 刚刚创建了一个需要1,000个NSNumber参数的方法,它运行正常。 在我的显示器上的Xcode中读取了两个页面,但它没有任何警告或任何事情。 可能会尝试10,000以后,但似乎没有任何限制,除了任何强加硬件功能等。

参数的数量没有限制

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM