gpt4 book ai didi

objective-c - 在作为参数传递给 Objective-C 中的方法时迭代 va_list

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:53 26 4
gpt4 key购买 nike

我想将可变参数列表从一个方法 (functionOne) 传递到另一个方法 (functionTwo)。一切正常,除了我无法弄清楚如何以可以访问 va_list 中的第一个参数的方式在 functionTwo 中设置 va_list。使用 va_arg 前进到 va_list 中的第二个参数。谢谢。

- (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 *))) {
...
}
}

最佳答案

第一个 variadic 参数不是传递给 va_start 的参数——它是紧随其后的参数。如果您希望 functionTwo: 能够访问 configFiles 字符串,您需要显式传递它。

关于objective-c - 在作为参数传递给 Objective-C 中的方法时迭代 va_list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16141126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com