2013-05-17 39 views
3

我得到,你可以做这样的事情:可变参数,随后实施方法非可变参数

+(id) objectWithItems: (NSObject *) item, ...; 

但是我想知道是否有可能做这样的事情(我不能得到这个编译) :

+(id) objectWithItems: (NSObject *) item, ... withValue:(int)val; 

所以,我可以这样做:

MyClass *c = [c objectWithItems:a,b,c,nil withValue:5]; 

这可能吗?

我想我可能只是反转参数...

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

回答

5

不,对不起。方法签名的可变部分必须在最后。

+0

似乎这样 - 虽然工程,如果我反转方法中的参数。 – Nick

+4

是的,那么它就在最后。 –