I would like to imitat开发者_运维技巧e the functionality of [NSArray arrayWithObjects:]
which allows me to type in arguements this way: [MyClass doSomethingWithObjects: @"str1",@"str2",nil]
. Assuming this is possible, how can I declare this?
Found it explained here: http://cocoawithlove.com/2009/05/variable-argument-lists-in-cocoa.html
//interface:
- (void)foo:(NSString *)firstString, ... NS_REQUIRES_NIL_TERMINATION;
//implementation:
- (void)foo:(NSString *)firstArg, ...
{
va_list args;
va_start(args, firstArg);
for (NSString *arg = firstArg; arg != nil; arg = va_arg(args, NSString*))
{
[self bar:arg];
}
va_end(args);
}
精彩评论