У меня есть цель-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
}
}