我现在已经在ReactNative项目上工作了一个星期,我想创建自己的Objc / Swift原生组件。
我遵循了官方文档,但我发现它并不那么详细。我可以使用回调等,I also followed this,但我无法找到我想要的内容。
我想使用我的类的构造函数init(),但每次编译时,应用程序都会启动并且Xcode会抛出以下错误:
fatal error: use of unimplemented initializer 'init()' for class 'myProject.MyModule'
我尝试了许多内容,例如在@objc
前添加init()
,但没有任何作用。我有点失落。
我的文件(我使用的是Swift 3):
MyModule.m :
#import <React/RCTBridgeModule.h>
@interface RCT_EXTERN_MODULE(MyModule, NSObject)
RCT_EXTERN_METHOD(aMethod:(RCTResponseSenderBlock)callback)
@end
MyModule.swift :
import Foundation
@objc(MyModule)
class MyModule: NSObject {
var myFirstString: String = ""
init(myString: String) {
self.myFirstString = myString
super.init()
}
@objc func aMethod(_ callback: RCTResponseSenderBlock) -> Void {
callback([NSNull(), self.myFirstString])
}
}
MyModule的桥接-Header.h :
#import <React/RCTBridgeModule.h>