2010-09-29 14 views
12

Quiero convertir int a cadena en el objetivo c cómo hacerlo.cómo convertir NSinteger a String

mi código.

for (i=0; i<=200; i=i+10) { 
    // here i want to convet the value of i into string how to do this 

} 

Gracias de antemano.

+0

tengo otra variable de cadena denominada MyWord quiero para asignar valor a la misma i ..... .. –

Respuesta

14

Prueba esto:

NSMutableString *myWord = [[NSMutableString alloc] init]; 
for (int i=0; i<=200; i=i+10) { 
    [myWord appendString:[NSString stringWithFormat:@"%d", i]]; 
    //... 
} 
//do something with myWord... 
[myWord release]; 

NSInteger es simplemente una typedef a los tipos de datos int o long en 32 sistemas/64 bits.

+2

La respuesta de n13 a continuación es la variante moderna y mucho más elegante –

2

Es posible que desee declarar myWord fuera del ciclo como NSMutableString.

11
NSInteger n = 13; 
NSString string = @(n).stringValue; 

Referencia ver literales de Objective-C - literales eliminar una gran cantidad de código repetitivo fea estorbar encima de su base de código: http://clang.llvm.org/docs/ObjectiveCLiterals.html

+1

Genial, gracias por introducirme de la manera más fácil con la nueva sintaxis –

+0

Esto es realmente más lento y menos eficiente desde que creaste una instancia de 'NSNumber' cada vez que deseo obtener un valor de cadena Hizo un punto de referencia con 1000000 iteraciones y obtuve '0.924962' segundos con el enfoque' NSNumber' y obtuve '0.668426' segundos usando el enfoque' stringWithFormat'. Esto es solo una consideración si lo estaría usando en un gran ciclo. – Majster

+0

^Punto de referencia interesante, pero esperaba que funcionara peor. Una diferencia del 30% no es mucho. Obviamente, no hagas esto si estás convirtiendo miles o decenas de miles de números en String. El enorme bucle de conversión de número a cadena me parece un código malo, sin importar cómo se realice la conversión. – n13