swift 与JS交互( JS调用swift方法)
来源:互联网 发布:爱腾网络延长器接法图 编辑:程序博客网 时间:2024/06/11 06:54
1.首先创建一个代理方法继承JSExport
里面实现的方法是js需要调用swift的方法
@objc protocol JavaScriptSwiftDelegate: JSExport { func method(str:String) //带参数的 func method2()//不带参数}
2.创建一个model继承NSObject 并遵守上面的协议 实现协议要求的方法
在model里面声明两个block便于参数的传出
@objc class SwiftJavaScriptModel: NSObject, JavaScriptSwiftDelegate { weak var jsContext: JSContext? typealias customeBlock = (str: String )->Void typealias customeBlock2 = ()->Void var block:customeBlock? var block2:customeBlock2? func method(str: String) { block(str:str) } func method2(){ block2() }}
3.让swift 的webView实现UIWebViewDelegate,
yourweb.delegate = self
4.实现webVeiw的代理方法 在webViewDidFinishLoad的代理方法里进行交互
let context=webView.valueForKeyPath("documentView.webView.mainFrame.javaScriptContext") as? JSContext let model = SwiftJavaScriptModel() model.controller = self model.jsContext = context model.block = { //实现对应的操作 调用swift的方法} self.jsContext = context //下面的方法是把model 注入js里面 native是js里面方法的前缀 比如js里面的方法是 //native.method() self.jsContext?.setObject(model, forKeyedSubscript: "native") let url = NSBundle.mainBundle().URLForResource("html路径", withExtension: "html") self.jsContext.evaluateScript(try?String.init(contentsOfURL: url!))
阅读全文
0 0
- swift 与JS交互( JS调用swift方法)
- Swift与JS交互
- Swift与Js通过WebView交互
- swift 3.0 webview与JS的交互
- iOS与JS交互实战篇(Swift/ObjC)
- JS调用swift相册
- Swift WKWebView的js调用swift
- Swift WKWebView的swift调用js
- WKWebView 怎么拦截URL 与JS的交互 (Swift)
- iOS开发 - Swift使用JavaScriptCore与JS交互
- iOS下Hybird实现---OC与JS交互以及swift与JS交互
- Swift WKWebView的swift调用js ---- Swift WKWebView的js调用swift
- ios webView与js交互与类似回调的实现(swift)
- swift js 实现简单的交互 JavaScriptCore
- swift 开发UIWebView跟JS的交互
- swift与OC混编(方法调用)
- UIWebView 与 JS 交互(1): stringByEvaluatingJavaScriptFromString方法的调用
- js与Android交互之js调用Android中的方法
- SVM学习笔记
- 帕塞瓦尔定理(能量守恒定理)证明
- overpass language 笔记
- spring动态数据源和事务配合的调研
- 20170516@Map集合遍历方式
- swift 与JS交互( JS调用swift方法)
- 遍历链表 构造并升序输出(解题报告)
- webpack集成bootstrap进行多页面开发
- 《Objective-C基础教程(第2版)》pdf
- 我的第一个Unity3d项目-超级玛丽
- 请写出下列表达式的值,并编写程序验证。
- ##顺序表 编码##
- django 快速搭建blog
- 最大流问题的Ford-Fulkerson解法