2012-08-10 59 views
1

我是新來的Objective-C和我想知道如何獲得一個NSString的stringValue的,如果它等於照片,然後做//something如何在if語句中使用字符串?

這是我使用時,打印的NSLog代碼「照片」。

我正在爲iPhone開發。

NSString *getPageType = [self.webView stringByEvaluatingJavaScriptFromString: 
           @"document.getElementById('pageType').name"]; 

    NSLog(@"%@", getPageType); 



    if (getPageType == @"photo") 
    { 
     [UIButton animateWithDuration:3 animations:^{ 
      downloadOverlay.alpha = 1; 
      downloadOverlay.alpha = 0; 
     }]; 

    } 
+0

你最好附加一個'的toString();'調用你的JavaScript結束否則你不會得到一個字符串返回。 – 2012-08-10 14:17:27

回答

6
if ([getPageType isEqualToString:@"photo"]) 

應該做的伎倆。

+0

謝謝,它工作! – atomikpanda 2012-08-10 14:19:11

4

你應該使用:

if ([getPageType isEqualToString:@"photo"]) 
2

getPageType == @"photo"內存地址(指針)進行比較。

[getPageType isEqualToString:@"photo"]做你真正想要的,我。即比較兩個字符串的內容。

in C Language

const char *capital = "NewYork"; 

if(capital == "NewYork") // address compare 

if (strcmp(capital,"NewYork")==0) // string compare 
    printf("equal"); 
else 
    printf("different"); 
1

我知道你已經得到了你答案,但我只是想指出,你也可以使用isEqual:如果你感覺特別慢。

如果您使用isEqual:,您可以傳遞的不僅僅是一個字符串(例如NSDataNSArray,NSDictionary等),因爲它是參數。

如果兩個對象相等,則返回YES,否則返回NO。這比僅僅比較字符串時使用isEqualToString:慢。

0

你可以像使用

NSString *getPageType = [self.webView stringByEvaluatingJavaScriptFromString: 
           @"document.getElementById('pageType').name"]; 

    NSLog(@"%@", getPageType); 



     if ([getPageType isEqualToString:@"photo"]) 
    { 
     [UIButton animateWithDuration:3 animations:^{ 
      downloadOverlay.alpha = 1; 
      downloadOverlay.alpha = 0; 
     }]; 

    }