Compare String( == and isEqualToString difference)


How do i compare a website result with a predicted result.


is predicted to contain:


But i always get an error saying that they don’t match. I used this code below to compare them:

if (webresult == cmp){

then it shows an alert saying success. Or in else it’ll say error. It always goes to else. Heres the code block, Please help.

- (IBAction)displayresult:(id)sender {
    webresult = [webview2 stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].outerHTML"];
    NSString *cmp = [[NSString alloc] initWithFormat:@"<body>OK</body>"];

    if (webresult == cmp) {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Logged in" message:@"Logged in, Proceeding to the game" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
       [alert show];
       [alert release];
   } else {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:webresult delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
asked Aug 4 ’11 at 4:20

3 Answers

I assume that webresult is an NSString. If that is the case, then you want to use:

if ([webresult isEqualToString:cmp]) {

instead of:

if (webresult == cmp) {

as the above method checks if the strings are equal character by character, whereas the bottom method checks if the two strings are the same pointer. Hope that helps!

answered Aug 4 ’11 at 4:32
Thanks, That fixed it –  Tyler McMaster Aug 4 ’11 at 4:33
Great! Can you accept the answer then? –  msgambel Aug 4 ’11 at 4:35


if (webresult == cmp)

Here, == checks whether webresult, cmp are pointing to the same reference or not. You should instead compare value of the object by using NSString::isEqualToString.

 if ( [ cmp isEqualToString:webresult ]) {
   // ..
 }else {
   // ..

Note that isEqualToString is a good option because it returns boolean value.

answered Aug 4 ’11 at 4:28
Can i get an example of how to use that? –  Tyler McMaster Aug 4 ’11 at 4:31

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s