我如何比较网站结果与预测结果。
@"document.getElementsByTagName('body')[0].outerHTML"
预计包含:
<body>OK</body>
但是我总是得到一个错误说他们不匹配。我用下面的代码来比较他们:
if (webresult == cmp){
然后它会显示一个警告说成功。或者在else中它会说错误。它总是转到else。这是代码块,请帮助。
- (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];
}
}
5条答案
按热度按时间rggaifut1#
我假设
webresult
是一个NSString
,如果是这样的话,那么你需要使用:而不是:
因为上面的方法逐个字符地检查字符串是否相等,而底部的方法检查两个字符串是否是相同的指针。
gajydyqb2#
在这里,
==
检查webresult, cmp
是否指向同一个引用。您应该使用NSString::isEqualToString比较对象的值。注意,
isEqualToString
是一个很好的选项,因为它返回布尔值。bjg7j2ky3#
我们无法将字符串与
==
进行比较我们必须使用
isEqualToString:
1cosmwyk4#
比较字符串时,需要使用
isEqualToString:
nfzehxib5#
对于Swift 4.0:
对于Objective-C: