2009-09-11 8 views
0

voici mon code:Problème dans String camparisson ...!

NSUInteger f; 
    for (f = 0; f < [appDelegate.books count]; f++) { 
    check = [appDelegate.books objectAtIndex:f]; 

    checkthis = check.LotteryNumber; 


     mystring = check.LotteryNumber; 
    NSLog(@"Dynamic Value: %@",mystring); 
    NSLog(@"Static Value: %@",checkthis); 

    if (checkthis == mystring) { 
     found = YES; 
     break; 
    } 
    printf("In LOOP"); 
} 
if (found) { 
    // do found 
    NSLog(@"Found"); 
} else { 
    // do not found 
    NSLog(@"not Found"); 
} 


    //if (checkthis == mystring) { 

en ligne ci-dessus si je place checkthis sur les deux côtés, son travail, mais quand je prends une valeur dynamique ne fonctionne pas .. son J'ai aussi essayé comme celui-ci

if(checthis isEqualToString mystring) 

même problème ici ....

Merci à l'avance

+1

Pourquoi les comparez-vous même si vous affectez les 2 variables à la même valeur? Vous devez reformater le message, et il semble que vous devriez nous donner plus de code depuis le début, car 'checkthis = check.LotteryNumber' ne devrait pas fonctionner car vous ne le convertissez pas en NSString. – Garrett

Répondre

3

Vous utilisez la comparaison et aucun pointeur t comparaison de chaînes.

Vous devez utiliser:

if([checkThis isEqualToString:myString]) { ... 
+0

il semble qu'il vous manque un ']' là :) – crashmstr

+0

@crashmstr whoops! Merci. =) –

0

Vous utilisez comparision par pointeur la comparaison que vous faites la mémoire vérifie une des ddresses et ne retourne vrai si son même objet par rapport, vous devez utiliser [string isEqualToString: otherString] méthode de NSString à la place

+0

comme je l'ai expliqué dans la question j'ai aussi essayé .. comme ça si ([chaine1 isEqualToString: string2] ma première chaîne i i statique utilisé comme celui-ci NSString * string1 = @ "1234567"; et dans string2 j'ai la valeur venant de l'analyse xml ... j'ai vérifié cette valeur par nslog son même que la chaîne 1, mais il n'est pas vrai la condition .. –

+0

sont-ils actaully égal à tho? NSLog les deux chaînes peut-être vous avez un espace exstra là, ou quelque chose du genre – Daniel

+0

Oui ... j'ai utilisé nslog pour vérifier que c'est vrai ou pas, mais la condition est toujours vraie ... :) –

Questions connexes