假设我有一个名为ExampleClass
.
假设我然后编写这样的代码:
@objc(ExampleClass)
class ExampleClass: NSObject {
@objc class func exampleFunc() -> Void {
}
}
像这样使用 Objective-C 文件头:
#import <Foundation/Foundation.h>
#import <React/RCTBridgeModule.h>
@interface RCT_EXTERN_MODULE(ExampleClass, NSObject)
RCT_EXTERN_METHOD(exampleFunc)
@end
然后我在我的 React Native 应用程序中使用它,如下所示:
console.log('exampleClass', React.NativeModules.ExampleClass);
console.log('exampleFunc', React.NativeModules.ExampleClass.exampleFunc)
第一个控制台日志产生{exampleFunc: f}
第二个结果undefined
,
调用函数:React.NativeModules.ExampleClass.exampleFunc()
导致应用程序崩溃:
异常“exampleFunc 不是公认的 Objective-C 方法。” 在目标 ExampleClass 上使用参数调用 setupLogger 时抛出(
仅更改 Swift 以使其显示为:
@objc(ExampleClass)
class ExampleClass: NSObject {
@obj func exampleFunc() -> Void {
}
}
导致调用该函数(是的)目前什么都不做。
如何公开类级别变量?我正在尝试编写函数式 Swift,并且正在使用类方法来模拟结构。