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...
}