web-dev-qa-db-fra.com

Conversion de int en NSString

Je veux convertir un nombre entier aléatoire dans le NSString puis affecter la NSString à un autre NSString mais cela plante l'application

Je fais ce qui suit

int mynumber =(arc4random() % 1000 );

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

   NSLog(unique)

   NSString*test=unique;

ça donne un crash quand j'écris la dernière ligne;

Il imprime également des valeurs lorsque j'enregistre la chaîne unique.

30
user1619187

Si vous voulez changer l'int entier en chaîne

NSString *strFromInt = [NSString stringWithFormat:@"%d",yourintvalue];
95
Tendulkar

Cela fonctionne également:

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

Ou, si vous préférez la notation par points:

NSString *str = @(number).stringValue;

Cela va encadrer la valeur primitive dans un NSNumber en utilisant l'expression syntaxe de boxe @(...), puis utiliser sa méthode 'stringValue pour la convertir en NSString. Cela devrait également fonctionner pour d'autres valeurs primitives (NSInteger, float, double, long, ...).

51
d4n3
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);
1
Pandey_Laxman

Vous avez mal utilisé l'instruction NSLog. Elle aurait dû être utilisée comme ci-dessous.

NSLog(@"%@",unique);

0
BornCoder