Доступ к свойствам класса target-c в rct_export_method - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть цель-c UIViewController, который расширяет RCTBridgeModule и загружает некоторый JavaScript.Однако у меня возникают проблемы с доступом ко всем свойствам моего UIViewController, когда я пытаюсь вызвать один из его методов в javascript.Я полагаю, это потому, что простой вызов его метода из javascript не полностью инициализирует весь класс, но я не могу найти много документации о том, как сделать то, что я пытаюсь достичь.Любая помощь или указатели будут оценены.Вот упрощенный пример того, что я пытаюсь сделать:

edit: я думал, что мог бы использовать [self.bridge.uiManager ...], а затем использовать rootTag для доступа к экземпляру компонента,но он не распознает uiManager в экземпляре моста.Думаю, это может быть потому, что это контроллер представления, а не UIView.

MyViewController.h:

 @interface MyViewController: UIViewController<RCTBridgeModule>
 @property PropertyClass *property
 @end

свойство установлено для экземпляра класса в другом файле.

MyViewController.m:

 - (void)viewDidLoad {
     [RCTRootView initialized here]

      ** _property is properly initialized **
 }

 RCT_EXPORT_MODULE();

 RCT_EXPORT_METHOD(methodName) {
     **trying to access _property here but it's nil**
 }

Тогда в моем JavaScript:

MyFile.js

 const MyViewController = NativeModules.MyViewController;

 class MyFile extends React.Component {
     // some code here
     render() {
          MyViewController.methodName(); //calling into objective c here
     }
 }
...