1

我是 Objective-c 的新手,我想知道如何获取 NSString 的 stringValue ,如果它等于 photo 然后做//something

这是我正在使用的代码,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;
        }];

    }
4

5 回答 5

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

应该做的伎俩。

于 2012-08-10T14:16:36.517 回答
4

你应该使用:

if ([getPageType isEqualToString:@"photo"])
于 2012-08-10T14:16:40.527 回答
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");
于 2012-08-10T14:51:56.987 回答
1

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

如果您使用isEqual:,您可以传递的不仅仅是一个字符串(例如NSData,NSArrayNSDictionary)作为它的参数。

YES如果两个对象相等,则返回,否则返回NO。不过,这比isEqualToString:仅比较字符串时使用要慢。

于 2012-08-10T19:42:40.727 回答
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;
        }];

    }
于 2012-08-24T12:59:11.967 回答