RosettaCodeData/Task/Variadic-function/Objective-C/variadic-function.m

18 lines
577 B
Objective-C

#include <stdarg.h>
void logObjects(id firstObject, ...) // <-- there is always at least one arg, "nil", so this is valid, even for "empty" list
{
va_list args;
va_start(args, firstObject);
id obj;
for (obj = firstObject; obj != nil; obj = va_arg(args, id))
NSLog(@"%@", obj);
va_end(args);
}
// This function can be called with any number or type of objects, as long as you terminate it with "nil":
logObjects(@"Rosetta", @"Code", @"Is", @"Awseome!", nil);
logObjects([NSNumber numberWithInt:4],
[NSNumber numberWithInt:3],
@"foo", nil);