Comment convertir de int en ssortingng dans l’objective c: exemple de code

J’essaie de convertir un int en une chaîne mais j’ai des problèmes. J’ai suivi l’exécution à travers le débogueur et la chaîne ‘myT’ obtient la valeur de ‘sum’ mais l’instruction ‘if’ ne fonctionne pas correctement si la ‘sum’ est 10,11,12. Ne devrais-je pas utiliser un type int primitif pour stocker le nombre? En outre, les deux méthodes que j’ai essayées (voir le code commenté) ne suivent pas le vrai chemin de la déclaration “if”. Merci!

int x = [my1 intValue]; int y = [my2 intValue]; int sum = x+y; //myT = [NSSsortingng ssortingngWithFormat:@"%d", sum]; myT = [[NSNumber numberWithInt:sum] ssortingngValue]; if(myT==@"10" || myT==@"11" || myT==@"12") action = @"numGreaterThanNine"; 

La version commentée est la manière la plus correcte de le faire.

Si vous utilisez l’opérateur == sur les chaînes, vous comparez les adresses des chaînes (où elles sont allouées en mémoire) plutôt que les valeurs des chaînes. Ceci est très utile de temps en temps (cela indique que vous avez exactement le même object de chaîne), mais 99% du temps, vous voulez comparer les valeurs, ce que vous faites ainsi:

 if([myT isEqualToSsortingng:@"10"] || [myT isEqualToSsortingng:@"11"] || [myT isEqualToSsortingng:@"12"]) 

Si vous avez juste besoin d’un int pour une chaîne comme vous le suggérez, j’ai trouvé le moyen le plus simple de faire comme ci-dessous:

 [NSSsortingng ssortingngWithFormat:@"%d",numberYouAreTryingToConvert] 

Vous pouvez utiliser des littéraux, c’est plus compact.

 NSSsortingng* mySsortingng = [@(17) ssortingngValue]; 

(Boîtes en tant que NSNumber et utilise sa méthode ssortingngValue )

== ne devrait pas être utilisé pour comparer des objects dans votre if . Pour NSSsortingng utilisez isEqualToSsortingng: pour les comparer.

 int val1 = [textBox1.text integerValue]; int val2 = [textBox2.text integerValue]; int resultValue = val1 * val2; textBox3.text = [NSSsortingng ssortingngWithFormat: @"%d", resultValue]; 

Il suffit de convertir int en utilisation NSSsortingng :

  int x=10; NSSsortingng *strX=[NSSsortingng ssortingngWithFormat:@"%d",x];