2010-08-22 3 views
0

Existe-t-il une fonction OU dans Objective-C?Fonction OR dans Objective-C

par exemple:

if(string1 == string2 || string3 == string 4) 

|| ne marche pas semble fonctionner.

Merci.

+0

Avez-vous une erreur? Qu'Est-ce que c'est? '||' est un opérateur parfaitement valide dans Objective C. Vous ne pouvez pas comparer les chaînes avec '==' though. Voir: http://stackoverflow.com/questions/1302985/how-do-i-compare-strings-in-objective-c –

Répondre

4

|| est un opérateur Objectivc-C et C valide. Ça devrait marcher.

Essayez est le code:

if([string1 isEqualToString:string2] || [string3 isEqualToString:string4]) 
{ 
} 
+1

Trop de parenthèses! – jtbandes

+0

Yap, mauvaise habitude :) –

+0

désolé pour l'édition, mais nommer une chaîne 'string' aurait pu être trompeur :-) –

1

Le ou opérateur || fonctionne très bien, mais l'opérateur == ne fonctionne pas pour les chaînes C-ni pour NSString si vous voulez tester la chaîne de l'égalité. Comme écrit, vous testez seulement pour les pointeurs étant égaux.

utiliser:

  • strcmp() pour les chaînes de style C
  • -isEqualToString: pour NSString
+0

Le seul problème ici est strcmp renverra 0 si les chaînes sont égales, vous auriez à inverser les contrôles. –

+0

Aucune raison d'utiliser strcmp de toute façon. – ZaBlanc

+0

@ZaBlanc: Pourriez-vous être plus précis? –

Questions connexes