Как передать параметр в Swift класс из реагировать родной мост - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть собственное приложение, и я вызываю быстрый класс из этого приложения. Для этого я использую мост и хочу передать параметр init моего класса Counter. Как я могу это сделать? Я очень новичок в swift и реагирую.

@interface RCT_EXTERN_MODULE(Counter, NSObject)

swift версия 5.0 реагирует нативная версия 0.62.1

1 Ответ

0 голосов
/ 07 апреля 2020

Вы не можете передавать параметры из js для создания экземпляра собственного модуля, поскольку RN создает единичные экземпляры для каждого моста с инициализатором по умолчанию init. Но вы можете установить необходимые свойства с помощью функции, например

MyModuleExport.m:

@interface RCT_EXTERN_MODULE(MyModule, NSObject)

RCT_EXTERN_METHOD(construct:(NSString*)name value:(NSInteger)value)

@end

MyModule.swift:

@objc(MyModule)    
class MyModule: NSObject {
    var name: String!
    var value: Int!

    @objc
    func construct(_ name: String, value: Int) {
        self.name = name
        self.value = value
    }

JS:

const module = NativeModules.MyModule
module.construct("Hello", 100);
...