我是objective-c的新手,我想知道如何获取NSString的stringValue,如果它等于照片,那么执行//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;
}];
}
答案 0 :(得分:6)
if ([getPageType isEqualToString:@"photo"])
应该这样做。
答案 1 :(得分:4)
您应该使用:
if ([getPageType isEqualToString:@"photo"])
答案 2 :(得分: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");
答案 3 :(得分:1)
我知道你已经得到了答案,但我只是想指出,如果你感觉特别慢,你也可以使用isEqual:
。
如果您使用isEqual:
,则可以传递的不仅仅是字符串(例如NSData
,NSArray
,NSDictionary
等)。
如果两个对象相等则返回YES
,如果不相等则返回NO
。这比仅比较字符串时使用isEqualToString:
要慢。
答案 4 :(得分: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;
}];
}