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
.
Si vous voulez changer l'int entier en chaîne
NSString *strFromInt = [NSString stringWithFormat:@"%d",yourintvalue];
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
, ...).
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);
Vous avez mal utilisé l'instruction NSLog. Elle aurait dû être utilisée comme ci-dessous.
NSLog(@"%@",unique);