objective-c nsstring

objective c - Comparación de cadenas en Objective-C



nsstring (3)

Puede usar una comparación entre mayúsculas y minúsculas o mayúsculas y minúsculas, dependiendo de lo que necesite. Case-sensitive es como esto:

if ([category isEqualToString:@"Some String"]) { // Both strings are equal without respect to their case. }

Insensible a mayúsculas / minúsculas es así:

if ([category compare:@"Some String" options:NSCaseInsensitiveSearch] == NSOrderedSame) { // Both strings are equal with respect to their case. }

Actualmente tengo configurado un servidor web que comunico a través de SOAP con mi aplicación para iPhone. Estoy devolviendo una cadena que contiene un GUID y cuando intento comparar esto con otra cadena obtengo algunos resultados extraños.

¿Por qué esto no se disparará? Sin duda, las dos cuerdas son un partido?

NSString *myString = @"hello world"; if(myString == @"hello world") return;


Puedes comparar cadenas con las funciones a continuación.

NSString *first = @"abc"; NSString *second = @"abc"; NSString *third = [[NSString alloc] initWithString:@"abc"]; NSLog(@"%d", (second == third)) NSLog(@"%d", (first == second)); NSLog(@"%d", [first isEqualToString:second]); NSLog(@"%d", [first isEqualToString:third]); Output will be :- 0 1 1 1


Use el método -isEqualToString: para comparar el valor de dos cadenas. Usar el operador C == simplemente comparará las direcciones de los objetos.

if ([category isEqualToString:@"Some String"]) { // Do stuff... }