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