记一次JS与OC的交互

2017-07-04  本文已影响13人  zym_

首先JS要调用OC的方法,

这是JS给的方法名

/**

* title 分享标题

* img  分享图片地址

* link  分享链接

*/

game.wechatShare(title, img, link);

iOS端做的是在

- (void)webViewDidFinishLoad:(UIWebView *)webView;

这个方法中实现

//js oc 交互

JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

context[@"game"] = self;

NSString *jsStr2 = @"game.weChatShare(title,img,link)";

[context evaluateScript:jsStr2];

定义协议

@protocol KnockExpor  <JSExport>

- (void)we:(NSString *)title Chat:(NSString *)img Share:(NSString *)link;

@end

此处方法名定义,有几个参数要把方法名拆分成几段,首字母需要大写(说多了都是泪),当然参数多的话可以让后台返回个字典.

实现协议方法

- (void)we:(NSString *)title Chat:(NSString *)img Share:(NSString *)link

{

MyLog(@"%@-%@-%@",title,img,link);

}

别忘了回到主线程刷新UI

END。

上一篇下一篇

猜你喜欢

热点阅读