如何将网站结果与预测结果进行比较.
@"document.getElementsByTagName('body')[0].outerHTML"
Run Code Online (Sandbox Code Playgroud)
预计包含:
<body>OK</body>
Run Code Online (Sandbox Code Playgroud)
但我总是得到一个错误,说他们不匹配.我使用下面的代码来比较它们:
if (webresult == cmp){
Run Code Online (Sandbox Code Playgroud)
然后它显示一个警告说成功.或者在其他地方它会说错误.它总是走向别的.下面是代码块,请帮忙.
- (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];
}
}
Run Code Online (Sandbox Code Playgroud)
msg*_*bel 102
我认为那webresult是一个NSString.如果是这种情况,那么你想使用:
if ([webresult isEqualToString:cmp]) {
Run Code Online (Sandbox Code Playgroud)
代替:
if (webresult == cmp) {
Run Code Online (Sandbox Code Playgroud)
因为上面的方法检查字符串是否逐个字符,而bottom方法检查两个字符串是否是相同的指针.希望有所帮助!
if (webresult == cmp)
Run Code Online (Sandbox Code Playgroud)
在这里,==检查是否webresult, cmp指向相同的引用.您应该使用NSString :: isEqualToString来比较对象的值.
if ( [ cmp isEqualToString:webresult ]) {
// ..
}else {
// ..
}
Run Code Online (Sandbox Code Playgroud)
请注意,这isEqualToString是一个很好的选择,因为它返回布尔值.
| 归档时间: |
|
| 查看次数: |
85768 次 |
| 最近记录: |