How to determine if strings are equal in Objective C?

Angie picture Angie · Mar 28, 2012 · Viewed 9.5k times · Source

I read a string from a JSON result as follows:

NSString *strResult = [[NSString alloc] initWithBytes:[data bytes] 
                                               length:[data length] 
                                             encoding:NSUTF8StringEncoding]; 

I then try to determine if the string is equal to the value "N"

if ([strResult isEqualToString:@"N"])
{ 
  [lblImageOK setHidden:YES]; 
} 
else 
{ 
  [lblImageOk setHidden:NO]; 
}

The if statement allways returns the else part, even though the result is "N". They both have the same value but the statement returns false always.

Answer

Angie picture Angie · Mar 28, 2012

I found a way to clean the string and then check if they are equal.

NSString *strResult = [[NSString alloc] initWithBytes:[data bytes] 
                                           length:[data length] 
                                         encoding:NSUTF8StringEncoding]; 

strResult = [strResult stringByReplacingOccurrencesOfString:@"\"" withString:@""];
strResult = [strResult stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

if ([strResult isEqualToString:@"N"])
{ 
  [lblImageOK setHidden:YES]; 
} 
else 
{ 
  [lblImageOk setHidden:NO]; 
}