开发者

How can I make objc functions with comma separated multiple arguements?

开发者 https://www.devze.com 2023-03-07 10:05 出处:网络
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]. Assum

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);
}
0

精彩评论

暂无评论...
验证码 换一张
取 消