我想用 Objective-C 编写一个函数,如下所示,它接受可变数量的参数,并将这些参数传递给 +stringWithFormat:
。我知道 vsnprintf
,但这意味着将 NSString“格式”转换为 C 并返回(并且还意味着转换其中的格式占位符......)。
下面的代码可以编译,但当然不会像我想要的那样运行:)
NSString *estr(NSString *format, ...) {
va_list args;
va_start(args, format);
NSString *s = [NSString stringWithFormat:format, args];
va_end(args);
return s;
}
基本上:是否有 +stringWithFormat:
方法的 va_list
友好版本,或者是否可以编写一个?
最佳答案
NSString *estr(NSString *format, ...) {
va_list args;
va_start(args, format);
NSString *s = [[[NSString alloc] initWithFormat:format arguments:args] autorelease];
va_end(args);
return s;
}
他们似乎没有方便的构造函数“stringWith...”版本
关于iphone - 如何 "pass on"可变数量的参数到 NSString 的 +stringWithFormat :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420421/