ReactNative Swift组件:如何设置构造函数

时间:2017-01-20 14:11:59

标签: swift react-native bridging-header react-native-component

我现在已经在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>

0 个答案:

没有答案
相关问题