2010-11-08 7 views
0

J'essaye quelque chose comme ma première application de comparaison dans Obj-C et je rencontre déjà des ennuis.Obtenez la chaîne de TextBox et comparez

Eh bien, il y a une zone de texte avec unamebox:(id)unb et un textfield NSTextField* myOut;

Eh bien, voici était mon premier essai:

if ([unb stringValue] == @"hello") { 
    [myOut setStringValue:(NSString *)@"hello dude"]; 
} 
else { 
    [myOut setStringValue:(NSString *)@"What?"]; 
} 

Pour ma honte, ce setzt toujours le champ de texte « Quoi? » , Que dois-je faire

if ([unb isEqualToString:(NSString*)@"hello"]) { 
    [myOut setStringValue:(NSString *)@"hello dude"]; 
} 
else { 
    [myOut setStringValue:(NSString *)@"What?"]; 
} 

Donc, pour comparer:
Lorsque je tente le isEqualtoString, il n'a même pas faire quoi que ce soit? En passant, j'ai déjà lu les liens qui ont été suggérés ci-dessus. Si j'ai manqué quelque chose d'important, je suis désolé

Répondre

2

-isEqualToString: est une méthode sur un NSString, pas sur un NSTextField. Vous devriez recevoir une erreur en envoyant ce message.

Vous voulez ceci:

[[unb stringValue] isEqualToString:@"hello"] 
+0

D'accord, je ne reçois pas une erreur lors de la tentative de compiler la version ci-dessous Votre version fonctionne maintenant, je vous remercie beaucoup (Comme ma réputation est pas assez élevé , Je ne peux pas vider, désolé) –