1. 程式人生 > >【Swift】關於Swift3.0 JS 和 原生互動 時的一些問題

【Swift】關於Swift3.0 JS 和 原生互動 時的一些問題

之前的註冊模型的方法

 // 初始化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)
}

在引數前面加上橫線!!!
我反正被坑慘了!!!