【Swift】关于Swift3.0 JS 和 原生交互 时的一些问题

时间:2023-01-31 19:00:48

之前的注册模型的方法

 // 初始化model
        let model = JSAndSwiftMiddle()
        model.delegate = self
        model.webView = webView
        self.jscontext = model.jsContext
        self.jscontext?.setObject(model, forKeyedSubscript: "OCModel")
        self.jscontext?.exceptionHandler = { (context,exception) in
            print("exception @",exception)
        }

Swift3.0以后注册模型的方法

     // 初始化model
        let model = JSAndSwiftMiddle()
        model.delegate = self
        model.webView = webView
        self.jscontext = model.jsContext
        self.jscontext.setObject(model, forKeyedSubscript: "OCModel" as NSCopying & NSObjectProtocol)
        _ = self.jscontext.exceptionHandler = { (context,exception) in
        }

接受不到数据的原因:

/** *  @author, 16-04-20 11:04:48 * * 这里面放的都是供H5调用原生的方法,每个方法都有不同的参数 */

@objc protocol javaScriptSwiftDelegate : JSExport{
    func callWithDict(_ params : String)
}

在参数前面加上横线!!!
我反正被坑惨了!!!