2010-01-12 3 views
0

Je suis vraiment frustré maintenant! J'ai un nouveau problème maintenant, tout ce que je veux faire est de dire siComment regarder la valeur de texte d'une étiquette?

lblMessage.Text = « 30 secondes », puis faire un code sinon faire un peu autre code

if (lblMessage.text isEqualToString:@"30 Seconds") 
{ 
    NSString *strPlayerAtTable = [[NSString alloc] initWithFormat:@"%@ at table", ActivePlayer]; 
    lblMessage.text = strPlayerAtTable; 
} 
else 
if (nStopClockPos == 30) 
{ 
    lblTime.textColor = [UIColor yellowColor]; 
    lblMessage.text = @"30 Seconds"; 
} 

Je reçois l'erreur attendue) avant isEqualToString

Ai-je besoin de le mettre dans une nouvelle variable de chaîne ou quelque chose?

Vive

Paul

+0

BTW, vous 'strPlayerAtTable' une fuite de. Ajoutez '[strPlayerAtTable release];' après l'avoir assigné à 'lblMessage.text'. –

Répondre

7

Essayez d'ajouter entre parenthèses dans l'instruction if pour appeler réellement la méthode de comparaison NSString:

if ([lblMessage.text isEqualToString:@"30 Seconds"]) 
+2

Explication: 'isEqualToString:' n'est pas un opérateur; vous devez envoyer un message 'isEqualToString:' * *, et pour ce faire, vous avez besoin d'une expression de message, qui est toujours entre crochets. Cela s'applique même dans les parenthèses (a.k.a. entre parenthèses) de la condition de l'instruction if. –

+0

Autre explication: 'lblMessage.text' est un objet' NSString' et en tant que membre de cette classe il a une méthode appelée 'isEqualToString: (NSString *)'. Vous devez donc appeler cette méthode (ceci est fait en utilisant des crochets) et passer comme argument le NSString que vous voulez comparer (dans ce cas '@" 30 Seconds "'). – Dimitris

Questions connexes