第一种:使用JavaScriptCore.framework框架,JS给OC传值。
OC里要实现的代码:
在webViewDidFinishLoad:方法里编写如下代码:
其中:passValue 是自定义的一个函数名,要和JS代码里传值的函数名一致,得到的arg数组里面为JS那边传过来的参数。
JS里要实现的代码:(很简单)
在需要给OC传值的函数里(例如:testClick())直接调用 passValue()函数,将值传进去即可。
第二种:使用自定义url方法,JS给OC传值。
JS里要实现的代码:
在需要给OC传值的函数里(例如:testClick())写如上格式的代码。
其中 objc 是自定义的协议头,cmd为自定义的函数名称(我认为没什么用),hello和world为传给OC的两个值。
OC里要实现的代码:
第三种:使用WebViewJavascriptBridge三方库实现JS与OC的相互传值。
JS里需要实现的代码:
按钮点击事件代码: 点击网页上的按钮向OC传过去一个字典{'foo':'bar'},同时接收到OC传过来的一个值response。
bridge.registerHandler 代码: OC向JS传值时调用。
OC里需要实现的代码:
注释里写的很清楚,这里就不在赘述。