xcode iOS比较string

如何将网站结果与预测结果进行比较

@"document.getElementsByTagName('body')[0].outerHTML" 

预计包含:

 <body>OK</body> 

但我总是得到一个错误,说他们不匹配。 我用下面的代码来比较它们:

 if (webresult == cmp){ 

那么它显示一个警告说成功。 否则会说错误。 它总是去其他地方。 inheritance人的代码块,请帮助。

 - (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]; } } 

我假设webresult是一个NSString 。 如果是这样的话,那么你想使用:

 if ([webresult isEqualToString:cmp]) { 

代替:

 if (webresult == cmp) { 

因为上面的方法检查string是否按字符相等,而底部方法检查两个string是否是相同的指针。 希望有所帮助!

 if (webresult == cmp) 

在这里, ==检查webresult, cmp是否指向相同的引用。 您应该通过使用NSString :: isEqualToString来比较对象的值。

  if ( [ cmp isEqualToString:webresult ]) { // .. }else { // .. } 

请注意, isEqualToString是一个很好的select,因为它返回布尔值。

我们不能用==来隐藏string
我们必须使用isEqualToString:

 if([str1 isEqualToString:str2]) { } else { } 

比较string时,你需要使用isEqualToString:

 if ([cmp isEqualToString:webresult]) { ... } else { ... }