ios-学习 dsbridge oc使用(转)

1.先pod进去dsBridge

pod “dsBridge”
2.然后官网给我解析就是开始创建一个JsApiTest类,但是没有说明这个类是干什么的,其实这个类中的方法都是js调用oc的方法。

#import "JsApiTest.h"
#import "dsbridge.h"
 
@implementation JsApiTest
 //  同步
- (NSString *)testSyn: (NSString *) msg
{
    return [msg stringByAppendingString:@"[ syn call]"];
}
 // 异步
- (void)testAsyn:(NSString *) msg :(JSCallback) completionHandler
{
    completionHandler([msg stringByAppendingString:@" [ asyn call]"],YES);
}

@end
3.然后开始在项目中创建wkwebview

DWKWebView * dwebview=[[DWKWebView alloc] initWithFrame:CGRectMake(0, 0, kScreenW, kScreenH-kIPHONEXNAVHEIGHT)];

NSString *urlStr = @“”;
NSMutableURLRequest *dealRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlStr]
                                                           cachePolicy:NSURLRequestReloadIgnoringCacheData
                                                       timeoutInterval:15.0];
[dwebview loadRequest:dealRequest];

// [dwebview addJavascriptObject:[[JsApiTest alloc] init] namespace:nil];
[dwebview addJavascriptObject:self namespace:nil];
[self.view addSubview:dwebview];
[dwebview setDebugMode:true];
这里要说明的的如果你使用[dwebview addJavascriptObject:[[JsApiTest alloc] init] namespace:nil]这句来初始化DWKWebView的话,js调用你原生的方法都要写到你自己定义JsApiTest类中。如果你使用[dwebview addJavascriptObject:self namespace:nil];来初始化,那么你就不必要在创建JsApiTest类了,js调用你原生的回调方法直接在你的项目中当成直接的方法使用就行。

js调用原生方法以及注释

//testSyn是js调用原生的方法名称,msg是js给你传递的参数需要注意的是msg的类型不仅是NSString类型的,你可以改成自己需要的任何类型,msg参数你也可以自己定义成任何名字 同步异步方法都是这样

  • (NSString *)testSyn: (NSString *) msg;

原生调用js方法

[dwebview callHandler:@"addValue" arguments:@[@"12",@"3"] completionHandler:^(NSNumber* value){
    DLog(@"oc调用js回调%@",value);
}];

作者:ly410726
来源:CSDN
原文:https://blog.csdn.net/ly410726/article/details/83274926

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值