2012-08-28 25 views
29

Quiero convertir un int numero aleatorio en el NSString y luego asignar el NSString a otro NSString pero se bloquea la aplicaciónconversión de int en NSString

que estoy haciendo lo siguiente

int mynumber =(arc4random() % 1000); 

unique = [NSString stringWithFormat:@"%d",mynumber]; 

    NSLog(unique) 

    NSString*test=unique; 

da accidente cuando escribo la última línea;

También imprime valores cuando instalo la cadena unique.

+0

Consulte: [http://stackoverflow.com/questions/3574632] [1]: http://stackoverflow.com/questions/3574632/how-to-convert-an-int-to-nsstring –

Respuesta

90

Si desea cambiar el int a string

NSString *strFromInt = [NSString stringWithFormat:@"%d",yourintvalue]; 
1
NSString *anotherStr; 
int myNumber = (arc4random() % 1000); 
NSString *stringNum = [NSString stringWithFormat:@"%i", myNumber]; 
anotherStr = stringNum; //assign NSString to NSString 
// Here you can convert NSString to Int if you want. 
NSLog(@"My number as NSString = %@", stringNum); 
int getNumFromString = [stringNum intValue]; 

NSLog(@"My number from NSString = %i", getNumFromString); 
0

Usted ha usado la declaración NSLog incorrectamente.Debe de haberse usado como a continuación.

NSLog(@"%@",unique);

47

Esto también funciona:

NSString *str = [@(number) stringValue]; 

O, si lo prefiere la notación de puntos:

NSString *str = @(number).stringValue; 

Thi s encajonará el valor primitivo a NSNumber usando la sintaxis de boxeo de expresión @(...), luego usará su método 'stringValue para convertirlo a NSString. Esto también debería funcionar para otros valores primitivos (NSInteger, float, double, long, ...).

+0

¿hay alguna desventaja/ventaja sobre la sintaxis 'stringWithFormat'? – jerik

+2

La ventaja aquí es que esto funciona para cualquier tipo primitivo, no es necesario establecer explícitamente el parámetro de formato. Además, me parece más conciso y comprensible, pero esta es una cuestión de gusto. Esto fue posible con la sintaxis de la expresión de boxeo, introducido en XCode 4.4 – d4n3

+3

Podría ser incluso más moderno: '@ (número) .stringValue' –