Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript与Objective-c代码通信?_Javascript_Objective C_Uiwebview - Fatal编程技术网

如何使用Javascript与Objective-c代码通信?

如何使用Javascript与Objective-c代码通信?,javascript,objective-c,uiwebview,Javascript,Objective C,Uiwebview,在本机iPhone应用程序中,我使用UIWebView加载网页 我想在网页中使用JavaScript与Objective-C代码进行通信,例如调用Objective-C代码中的函数 有什么方法可以实现这一点吗?没有“直接”的方法可以实现这一点,但您可以利用UIWebViewDelegate并捕获带有自定义方案的链接,因此在标记中,您可以编写如下内容: <a href="myapp://app_action?doSomething">Do Something</a> -

在本机iPhone应用程序中,我使用
UIWebView
加载网页

我想在网页中使用JavaScript与Objective-C代码进行通信,例如调用Objective-C代码中的函数

有什么方法可以实现这一点吗?

没有“直接”的方法可以实现这一点,但您可以利用
UIWebViewDelegate
并捕获带有自定义方案的链接,因此在标记中,您可以编写如下内容:

<a href="myapp://app_action?doSomething">Do Something</a>
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if([[[request URL] scheme] isEqualToString:@"myapp"]) { 
       SEL selector = NSSelectorFromString([[request URL] query]);
       if([self respondsToSelector:selector]) {
          [self performSelector:selector];
       } else {
          //alert user of invalid URL
       }
       return NO;
    }
    return YES;
}

看看phonegap,他们使用url进行通信