如何在Objective-C中创建具有可变长度参数的类方法?
例如,像-arrayWithObjects:
这样的方法NSArray *array = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];
答案 0 :(得分:5)
看看varargs,例如: Apple Technical Q&A QA1405。方法是否是类方法无关紧要。
答案 1 :(得分:3)
采用可变参数的方法称为可变方法。 “...”是变量参数
例如,您的函数声明为:- (void)specialWithX:(NSInteger)x y:(NSInteger)y, ...;
有关其他信息,请查看Variable argument lists in Cocoa
答案 2 :(得分:3)
您需要的是可变函数。这些函数采用灵活数量的参数,例如NSLog
,[NSArray arrayWithObjects:...]
等。
参见本教程:
http://www.numbergrinder.com/node/35
从我的回答中复制:Obj-C, trying to write an alternative to NSLog, but I want my function to concatenate like NSLog?