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

Con*_*lor 7 arguments objective-c

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

- (void)example:(int)i forTime:(int)i forDate:(NSDate *)date etc etc
Run Code Online (Sandbox Code Playgroud)

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

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

Met*_*ble 3

我很快用 C 语言编写了一个简短的程序来生成一个测试方法,并按照 Hot Licks 的建议,根据所需输入的参数数量进行调用。刚刚创建了一个需要 1,000 个 NSNumber 参数的方法,并且运行良好。在我的显示器上的 Xcode 中占用了两个页面,但它运行时没有任何警告或任何东西。稍后可能会尝试 10,000,但似乎除了硬件功能等施加的任何限制之外没有任何限制。