Reat Native调用OC本地方法, 代理方法不执行 更新
- UID
- 1066743
|
Reat Native调用OC本地方法, 代理方法不执行 更新
附录
顺带附上今天查资料,关于RN调用OC方法的几个点:
相关配置
1.头文件和协议
#import <React/RCTBridgeModule.h>//导入头文件
@interface DEVPNManager : NSObject<RCTBridgeModule>//遵守协议
//.m文件
@implementation DEVPNManager
RCT_EXPORT_MODULE();//导出的模块名,如果()内不写,则为类名.
方法定义.
方法的返回值只能是void
异步方法,还是用回调用
我怕生命周期有问题,将对象设置成了单例
/**
使用IP地址和端口号初始化VPN
@param ipAddress IP地址 (字符串类型) 例如:114.255.251.193
@param port 端口号 (字符串类型) 例如 443
@param callback 结果回调
*/
RCT_EXPORT_METHOD(initWithIPAddressNSString *)ipAddress portNSString*)port callbackRCTResponseSenderBlock)callback){
/*
your code
*/
self.callBack = callback;
}
//somewhere 参数是数组
self.callBack(@[@"RESULT_VPN_INIT_SUCCESS",@"初始化VPN成功"]);
RN 端使用.
var VPNManager = NativeModules.DEVPNManager; //导入模块
//某个触发事件
VPNManager.initWithIPAddress('114.255.251.193','443',(status,description)=>{
AlertIOS.alert(status,description);
if (status=='RESULT_VPN_INIT_SUCCESS'){
}
});
参数依次传递, Block类型参数只能是数组. |
|
|
|
|
|