
Duplicate interface 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) } }}解决方法 我在Swift 3,RN 0.45.1中找到了解决方案 在您的ReactManager.swift文件中
import Foundationimport 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 ReactManagerBrIDgeRCT_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复制接口所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)