Я хотел бы передать список аргументов переменных из одного метода (functionOne) в другой (functionTwo). Все работает отлично, за исключением того, что мне не удалось выяснить, как настроить va_list в функцииTwo таким образом, чтобы я мог получить доступ к первому параметру в va_list. Использование va_arg продвигается ко второму параметру в va_list. Спасибо.Итерация va_list при передаче в качестве параметра метода в Objective-C
- (void)functionOne:(NSString *)configFiles, ... {
va_list args;
va_start(args, configFiles);
[self functionTwo:args];
va_end(args);
}
- (void)functionTwo:(va_list)files {
NSString *file;
while ((file = va_arg(configFiles, NSString *))) {
...
}
}
Обратите внимание, что 'функции' в объектно-ориентированных языках программирования (например, Objective-C) называются' методами'! – HAS
@HAS: В ObjC есть _both_ функции _and_ methods. Процедуры в вопросе действительно являются методами, но это не означает, что функции не существуют. –
@JoshCaswell Спасибо за исправление. Я знал, что мы можем использовать простые старые c-функции в Objective-C (нет функций Objective-C-only, есть?). Мой комментарий действительно неправильный, я не знаю, почему я написал его вот так ... спасибо еще раз :) – HAS