我想在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;
}
基本上:是va_list
- +stringWithFormat:
方法的友好版本,还是可以写一个?
答案 0 :(得分:47)
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 ...”版本