Как я могу сделать objc-функции с несколькими аргументами, разделенными запятыми? - PullRequest
6 голосов
/ 22 мая 2011

Я хотел бы имитировать функциональность [NSArray arrayWithObjects:], которая позволяет мне вводить аргументы следующим образом: [MyClass doSomethingWithObjects: @"str1",@"str2",nil].Предполагая, что это возможно, как я могу объявить это?

1 Ответ

12 голосов
/ 22 мая 2011

Нашел объяснение здесь: 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...