isEqualToString始终返回NO / false

时间:2012-10-26 10:29:58

标签: objective-c ios uiwebview

我有一个webview,我想在其中调用Obj-C代码,我就像thisTutorial

一样
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
  NSString *absoluteUrl = [request.URL absoluteString];
  NSLog(@"STRING: %@",absoluteUrl);//prints out didTap://button1
  NSString *sayHello = @"didTap://button1";
  if ([sayHello isEqualToString: absoluteUrl]) {
      [self sayHello];
      return NO;
  }
return YES;
}

但永远不会调用[self sayHello]。谁知道为什么?

1 个答案:

答案 0 :(得分:2)

看起来有尾随空格或其他白色字符。这可以解释不平等。

此外,您应该使用NSURL的标准方法:

NSString *absoluteURL = [request.URL absoluteString];

要删除空格,请执行以下操作:

absoluteURL = [absoluteURL stringByReplacingOccurrencesOfString:@" " 
                           withString:@""];