una separar reemplazar por palabras eliminar contar comparar caracteres caracter cadenas cadena objective-c cocoa-touch variables

objective c - separar - ¿Es necesario asignar una cadena a una variable antes de compararla con otra?



python separar string por caracter (4)

¿Realmente tengo que crear un NSString para "Incorrecto"?

No, por qué no solo haces:

if([statusString isEqualToString:@"Wrong"]){ //doSomething; }

Usar @"" simplemente crea un literal de cadena, que es un NSString válido.

Además, ¿puedo comparar el valor de UILabel.text con una cadena sin asignar el valor de la etiqueta a una cadena?

Sí, puedes hacer algo como:

UILabel *label = ...; if([someString isEqualToString:label.text]) { // Do stuff here }

Quiero comparar el valor de un NSString con la cadena "Wrong". Aquí está mi código:

NSString *wrongTxt = [[NSString alloc] initWithFormat:@"Wrong"]; if( [statusString isEqualToString:wrongTxt] ){ doSomething; }

¿Realmente tengo que crear un NSString para "Incorrecto"?

Además, ¿puedo comparar el valor de un text UILabel en una cadena sin asignar el valor de la etiqueta a una cadena?


Brian, también vale la pena mencionar aquí; los otros son, por supuesto, correctos, de que no necesitas declarar una variable de cadena. Sin embargo, la próxima vez que quiera declarar una cadena, no necesita hacer lo siguiente:

NSString *myString = [[NSString alloc] initWithFormat:@"SomeText"];

Aunque lo anterior funciona, proporciona una variable NSString retenida que deberá liberar explícitamente después de que haya terminado de usarla.

La próxima vez que desee una variable de cadena, puede usar el símbolo "@" de una manera mucho más conveniente:

NSString *myString = @"SomeText";

Esto se lanzará automáticamente cuando hayas terminado, así evitarás fugas de memoria ...

¡Espero que ayude!


También puede usar los métodos de la clase NSString, que también crearán una instancia autorrellenada y tendrán más opciones, como el formato de cadenas:

NSString *myString = [NSString stringWithString:@"abc"]; NSString *myString = [NSString stringWithFormat:@"abc %d efg", 42];


if ([statusString isEqualToString:@"Wrong"]) { // do something }