que he intentado:Comparación de cadenas en Cocoa
- (NSString*) generateString
{
NSString* stringToReturn = @"thisString";
return stringToReturn;
}
- (void) otherMethod
{
NSString *returnedString = [self generateString];
if (returnedString == @"thisString")
{ // Do this }
else if (returnedString == @"thatString")
{ // Do that }
}
, que nunca coincide.
entonces me han tratado
if ([returnedString compare:@"thisString"] == 1)
Pero el método de comparación siempre devuelve 1 para mí, incluso cuando se comparan con una cadena diferente.
¿Cuál es la forma correcta de hacerlo y qué resultado debo esperar?
Técnicamente si usted está comparando NSStrings se debe utilizar -isEqualToString: debido a que el método ha sido optimizado para el caso en que el argumento es también un objeto NSString. –