J'ai un problème avec une création de chaîne et une comparaison qui semble perdre son contenu. À l'heure actuelle, j'ai ceci:perdre ma chaîne
switch (creditPos)
{
case 0:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face1.png", _director.platformPrefix]];
break;
case 1:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face2.png", _director.platformPrefix]];
break;
case 2:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face3.png", _director.platformPrefix]];
break;
case 3:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face4.png", _director.platformPrefix]];
break;
case 4:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face5.png", _director.platformPrefix]];
break;
default:
break;
}
faceImage est un objet que j'ai créé et à l'intérieur de la fonction pour setImage je ...
- (void)setImage:(NSString *)inImageName {
NSLog(@"Before Break");
// By default set the scale to 1.0f and the filtering to GL_NEAREST
if(![imageName isEqualToString:inImageName])
{
NSLog(@"Hit");}
Le problème que je vais avoir est que lorsque je passe la chaîne utilisant le NSString stringWithFormat, il fonctionnera peut-être 5-8 fois avant d'embêter d'une manière ou d'une autre et d'envoyer quelque chose de complètement aléatoire à la place à la fonction comme -36.657.
Comment est-ce possible? Rien dans les paramètres ne change car _director.platformPrefix est défini au début du programme et n'a jamais été modifié. La seule chose qui change est creditPos à sélectionner avec une chaîne pour créer + passer à la fonction. D'une façon ou d'une autre, la chaîne créée est juste du charabia après quelques itérations et en essayant de la comparer à la dernière chaîne passée dans le code, sans que l'erreur soit renvoyée.
Aide :(
Psst. Vous pouvez également écrire ceci comme une ligne de code: '[creditCart.faceImage setImage: [NSString stringWithFormat: @"% @ crédits_face% d.png ", _director.platformPrefix, (creditPos + 1)]];' –