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 { ... }