大佬教程收集整理的这篇文章主要介绍了Swift < - > React Native Bridge复制接口,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Duplicat@R_607_9473@erface deFinition for class 'StorageManager'
桥.m文件:
#import "RCTBridgeModule.h" @interface RCT_EXTERN_MODULE(StorageManager,NSObject) RCT_EXTERN_METHOD(getAccessToken:(RCTPromiseResolveBlock*)resolver reject:(RCTPromiseRejectBlock*)reject) RCT_EXTERN_METHOD(getrefreshToken:(RCTPromiseResolveBlock*)resolver reject:(RCTPromiseRejectBlock*)reject) RCT_EXTERN_METHOD(getSELEctedNetworkId:(RCTPromiseResolveBlock*)resolver reject:(RCTPromiseRejectBlock*)reject) @end
快速实施
import Foundation @objc(StorageManager) class StorageManager: NSObject { @objc func getAccessToken(resolver:rCTPromiseResolveBlock,reject:rCTPromiseRejectBlock) { let accessToken = Shared.getObjectPrefs("access_token") if(accessToken != nil){ resolver(accessToken) } else { reject("no_access_token","No access token present",nil) } } @objc func getrefreshToken(resolver:rCTPromiseResolveBlock,reject:rCTPromiseRejectBlock) { let refreshToken = Shared.getObjectPrefs("refresh_token") if(refreshToken != nil){ resolver(refreshToken) } else { reject("no_refresh_token","No refresh token present",nil) } } @objc func getSELEctedNetworkId(resolver:rCTPromiseResolveBlock,reject:rCTPromiseRejectBlock) { let networkId = Shared.getObjectPrefs("current_network_id") if(networkId != nil){ resolver(networkId) } else { reject("no_network_id","No network id present",nil) } } }
在您的ReactManager.swift文件中
import Foundation import React @objc(ReactManager) class ReactManager: NSObject { var bridge: RCTBridge! @objc func addEvent(name: String,LOCATIOn: String,date: NSnumber) -> Void { // Date is ready to use! } @objc func dismissPresentedViewController(_ reactTag: NSnumber) { DispatchQueue.main.async { if let view = self.bridge.uiManager.view(forReactTag: reactTag) { print(view) let presentedViewController = view.reactViewController() guard let vc = presentedViewController else { return } vc.navigationController?.pop(animated: truE) } } } }
在ReactManagerBridge.h文件中
#import <React/RCTBridgeModule.h> @interface ReactManagerBridge : NSObject <RCTBridgeModule> @end
在ReactManagerBridge.m文件中,
#import "ReactManagerBridge.h" #import "zigbang-Swift.h" @implementation ReactManagerBridge RCT_EXPORT_MODULE(ReactManager); RCT_EXPORT_METHOD(dismissPresentedViewController:(nonnull NSnumber *)reactTag) { ReactManager* reactManager = [[ReactManager alloc] init]; [reactManager dismissPresentedViewController:reactTag]; } RCT_EXTERN_METHOD(addEvent:(NSString *)name LOCATIOn:(NSString *)LOCATIOn date:(nonnull NSnumber *)datE) @end
这个有效!希望这个答案可以帮到你
以上是大佬教程为你收集整理的Swift < - > React Native Bridge复制接口全部内容,希望文章能够帮你解决Swift < - > React Native Bridge复制接口所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。