js调用OC的方法

2016-11-12  本文已影响128人  一季_又一寂

简单记录一下,有时间再完善

JS调用oc代码,OC方法传给JS值,或JS传给OC值1,导入框架:JavaScriptCore.Framework2, 新建一个类:继承NSObject;(我们把需要提供给js的方法写在这个类里面) 如下图:我的类名叫XY_web,(我的头文件写在pch里面了) 

在类里面创建代理,注意代理继承与这个代理里面的方法都是提供给js调用的.

接下来,可以在这个类里面声明连个属性;

@property (nonatomic, weak) JSContext *jsContext;

@property (nonatomic, weak) UIWebView *webView;

如下图方法,js给OC传值或OC给js传值,

.m中

做好了上述准备,接下来就去我们的webview页面实现了相互调用了

我用的UIWebView;

在我们的webview类中,加入头文件

下面是实现,比较简单

在webview的代理方法中

//webview加载完成之后调用的方法

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

_context = [self.listWebview valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

XY_web *XY = [XY_web new];

_context[@"XY"] = XY;

XY.storeid = self.storeid;

XY.delegate = self;

XY.jsContext = _context;

XY.webView = webView;

}

下图是js代码  调用OC方法

上一篇下一篇

猜你喜欢

热点阅读