带有可变参数的方法,后跟非变量

Nic*_*ick 3 parameters methods syntax objective-c variadic-functions

我知道你可以这样做:

 +(id) objectWithItems: (NSObject *) item, ...;
Run Code Online (Sandbox Code Playgroud)

但是我想知道是否有可能做这样的事情(我无法编译):

 +(id) objectWithItems: (NSObject *) item, ... withValue:(int)val;
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

 MyClass *c = [c objectWithItems:a,b,c,nil withValue:5];
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我想我可以反转参数......

 +(id) objectWithValue:(int) val withItems: (NSObject *) item, ...;
 MyClass *c = [c objectWithValue:5 withItems:a,b,c,nil];
Run Code Online (Sandbox Code Playgroud)

Car*_*rum 5

不,谢谢.方法签名的可变参数部分必须在最后.

  • 是的,那就结束了. (4认同)