一个简单的ObjC与JavaScript交互封装

原文首发:http://coderzhang.xyz

项目中涉及到ObjC与JavaScript交互,于是封装了一个简单的XBWebBridge.

github链接:XBWebBridge

使用方法

  • 1.导入JavaScriptCore.framework

  • 2.导入XBWebBridge.h

  • 3.创建XBWebBridge对象

      self.bridge = [[XBWebBridge alloc]initWithWebView:self.webView];
    
  • 4.注册给JS调用的方法(JS中通过注册使用的方法名调用ObjC):

      [self.bridge registerObjcFunctionforJavaScriptWithFunctionName:@"liveCallHanlder"];
      [self.bridge registerObjcFunctionforJavaScriptWithFunctionName:@"liveAjax"];
    
  • 5.处理JS传递到ObjC的参数:

      __weak typeof(self) weakSelf = self;
      self.bridge.handleResultDictionary = ^(NSDictionary *result,NSString *registerFunctionName){
      if ([registerFunctionName isEqualToString:@"liveCallHanlder"]) {
          NSLog(@"liveCallHanlder === %@",result);
      }else{
          NSLog(@"liveAjax === %@",result);
      }
      weakSelf.callBack = result[@"callBack"];
    

    };

  • 6.Objc调用JS方法:

      NSDictionary *param = @{
                          @"name":@"lilei",
                          @"age":@"13",
                          @"sex":@"1",
                          @"friends":@[@"han",@"li"]
                          
                          };
      [self.bridge callJavaScriptWithFunctionName:self.callBack param:param];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容