iOS compara el título del button a la cadena

Solo estoy aprendiendo a codificar, así que gracias por tu paciencia en esta simple pregunta.

Aquí está mi código:

- (IBAction)buttonWasPressed:(id)sender { NSString *buttonName = [sender titleForState:UIControlStateNormal]; if (buttonName == @"Button 1") { do something } 

¿Cómo comparo el título del button pasado como remitente a una cadena?

Muchas gracias por la ayuda.

en el objective-c, no puede comparar cadenas usando "==", sino que debe usar el método isEqualToString de la class NSString para comparar una cadena con otra.

 if ([buttonName isEqualToString: @"Button 1"]) { // do something } 

Use el método isEqualToString:

 if ([buttonName isEqualToString:@"Button 1"]) ... 

usando == comparas ponters, no los valores de cadena reales que contienen

La mejor forma de comparar cadenas es:

 NSString *string1 = <your string>; NSString *string2 = <your string>; if ([string1 caseInsensitiveCompare:string2] == NSOrdenetworkingSame) { //strings are same } else { //strings are not same } 

He descubierto que con Xcode 8.3.1, es necesario hacer:

 if([self.myButton isEqual: @"My text"]) { //do this } 
    Intereting Posts