我有 react 原生 我需要在 上实现 native 模块IOS 与 RCT_EXTERN_METHOD 宏。
我的步骤:
我需要使用我的 swift 文件中的变量,比如我的 React Native 项目中的状态,并使用 中声明的函数来管理它。 swift 文件。当我调用该函数时,它可以工作,但我无法从 获取变量原生模块 像 NativeModules.Settings.getSwitchGeneralTagLog
我不确定。你能告诉我如何从 Native Module 中获取变量吗?它是用于状态的好方法吗? 中管理状态的最佳方法是什么? swift ?
设置.swift:
import Foundation
@objc(Settings)
class Settings: NSObject {
private var generalTagLog = false
@objc
func getSwitchGeneralTagLog() -> Bool {
return generalTagLog
}
@objc
func switchGeneralTagLog() -> Bool {
return generalTagLog ? false : true
}
@objc
static func requiresMainQueueSetup() -> Bool {
return true
}
}
设置.m:
#import <Foundation/Foundation.h>
#import "React/RCTBridgeModule.h"
@interface RCT_EXTERN_MODULE(Settings, NSObject)
RCT_EXTERN_METHOD(switchGeneralTagLog)
@end
最佳答案
我将专注于一个功能,您可以在此基础上扩展它
设置.m
RCT_EXTERN_METHOD(getSwitchGeneralTagLog:(RCTPromiseResolveBlock)promise rejector: (RCTPromiseRejectBlock)reject)
在下面的场景中,我们没有处理任何异常
设置.swift
@objc func getSwitchGeneralTagLog(_ promise: RCTPromiseResolveBlock, rejector reject: RCTPromiseRejectBlock) {
var isSwitch = false
// figure out what need to be done for the flag
promise(isSwitch)
}
在您的 RN Accept 中,您可以从 Promise 中提取结果并使用它。
关于objective-c - 使用 React Native 的 Native Modules 从 Swift 文件中获取变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57400897/