Les éléments suivants définissent un NSString à StringValue d'un champ de texte. Ensuite, les chaînes sont comparées General_combinationsComparaison des chaînes
- (IBAction)SendAction:(id)sender
{
NSString *MyLoggerCommand = [CommandBox stringValue];
[CommandBox setStringValue:@""];
[[[MyLogger textStorage] mutableString] appendString: MyLoggerCommand];
[self General_Combinations];
}
- (void)General_Combinations
{
NSLog(@"General Combinations called..");
if([MyLoggerCommand isEqualToString:@"this"])
{
NSLog(@"Matched..");
}
}
Cependant, peu importe ce que les chaînes sont, ils ne sont jamais égaux. l'extrait
[CommandBox setStringValue:@""];
ne devrait pas affecter quoi que ce soit parce que le NSString est d'abord réglée avant que la boîte réelle est effacée.
Il ne fait, voir ma réponse – arclight
Ce code n'a pas de sens. Vous déclarez une variable locale dans 'SendAction:', puis vous faites référence à cette variable dans l'autre méthode 'General_Combinations' où elle ne serait pas disponible. Ce code devrait tomber en panne à l'exécution ... Y a-t-il un morceau de code manquant ici qui ferait ce travail? –
Oui, j'ai déclaré le NSString au plus haut niveau. J'étais assez stupide pour oublier de passer la variable à travers la fonction. – evdude100