如何在UIWebView中将数据从Xcode传递到javascript?

如何在UIWebView中将数据从Xcode传递到javascript?,javascript,ios,objective-c,xcode,uiwebview,Javascript,Ios,Objective C,Xcode,Uiwebview,我有一个虚拟HTML文件,用于加载我的javascript文件,以便使用其中的函数: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="

我有一个虚拟HTML文件,用于加载我的javascript文件,以便使用其中的函数:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

      <script type="text/javascript"      src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>
      <script type="text/javascript" src="js/makeTable.js"></script>

    </head>
    <body>

    </body>
</html>
基本上,我如何能够使用javascript函数并使用stringByEvaluatingJavascriptFromString方法从Xcode向它们传递参数,因为最终我希望类似于这行代码的东西能够工作:

NSString* script = [NSString stringWithFormat:@"table = makeTable( %d, %@, %@, %@);", i, [albumObj.moments[i] latitude], [albumObj.moments[i] longitude], jpgPath];
[_webView stringByEvaluatingJavaScriptFromString:script];  

我想使用的所有JS函数都在makeTable.JS文件中。我只需要能够在UIWebView中与此文件交互,因为我的所有数据都在Xcode中,但是我需要在JS中使用它

问题是
loadHTMLString:baseURL:
删除了被删除的HTML在添加新HTML之前,请在UIWebView中查看。因此,当您在
viewDidLoad
中第二次调用
loadHTMLString:baseURL:
以插入脚本标记时,它会清除您刚刚从loadingWeb.HTML添加的HTML。为什么不使用
stringByEvaluatingJavaScriptFromString:
而不是注入脚本标记

另外,如果您不知道,可以使用Safari中的web检查器在UIWebView中检查和调试HTML/CSS/JS。在使用UIWebViews时,这是我的救命稻草。 有关说明,请参阅

function alertMeWithMyCustomFunction(text) {
    alert(text+' -> in lib.js');
}        
NSString* script = [NSString stringWithFormat:@"table = makeTable( %d, %@, %@, %@);", i, [albumObj.moments[i] latitude], [albumObj.moments[i] longitude], jpgPath];
[_webView stringByEvaluatingJavaScriptFromString:script];