2010-08-19 5 views
0

Je veux poser une question objective C. J'ai une extraction de chaîne de UITextField et je veux vérifier la chaîne contient le «@» ou non. Cependant, quand j'utilise le code suivant, il a quelques erreurs, quelqu'un peut-il m'aider? Je vous remercie.Comment mettre à jour un NSString?

if([inputTextField.text rangeOfString:@"%"].location != NSNotFound) 
    NSLog(@"It does not contain the %@"); 
else 
    NSLog(@"It contains the %@"); 

Répondre

2

Vérifiez la syntaxe:

if([inputTextField.text rangeOfString:myString].location == NSNotFound) 
    NSLog(@"It does not contain the %@", myString); 
else 
    NSLog(@"It contains the %@", myString); 

Comme vous le verrez, le %@ sera remplacé par le contenu de myString.

+0

merci beaucoup. – Questions

+0

Vous êtes les bienvenus. Si vous devez afficher le "@", essayez de doubler le symbole, c'est-à-dire% @@ au lieu de% @. Pas très sûr si ça va marcher, mais vous pouvez essayer. –

+0

Ce code donne en fait le mauvais résultat. Changez le "! =" Comparrison à "==" pour le faire fonctionner correctement. –

0

Dans votre instruction NSLog, vous mettez un @ @ mais aucun argument après.

+0

Merci pour votre réponse. Si je veux afficher le "@" dans la déclaration, que dois-je faire? – Questions

1

Vous pouvez utiliser

NSLog([NSString stringWithUTF8String: "It does not contain the @"]); 

ou tout simplement

NSLog(@"It contains the @"); 

Note: A l'intérieur du @ "..." construire, vous ne devez utiliser des symboles ASCII 7 bits, voir Apple's developer documentation.

2

Ce code devrait faire l'affaire:

if([inputTextField.text rangeOfString:@"@"].location == NSNotFound) 
    NSLog(@"It does not contain the @"); 
else 
    NSLog(@"It contains the @");