iphone - Cómo "pasar" una cantidad variable de argumentos a NSString''s+stringWithFormat:
objective-c cocoa (1)
Me gustaría escribir una función en Objective-C como la de abajo, que toma una cantidad variable de argumentos, y pasa esos argumentos a +stringWithFormat:
Sé acerca de vsnprintf
, pero eso implicaría convertir el ''formato'' de NSString a C y viceversa (y también significaría convertir los marcadores de posición de formato dentro de él también ...).
El siguiente código compila, pero por supuesto no se comporta como yo quiero :)
NSString *estr(NSString *format, ...) {
va_list args;
va_start(args, format);
NSString *s = [NSString stringWithFormat:format, args];
va_end(args);
return s;
}
Básicamente: ¿hay una versión amistosa de +stringWithFormat:
método +stringWithFormat:
o es posible escribir una?
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;
}
no parecen tener una versión de constructor de conveniencia "stringWith ..."