Как обновить собственный пользовательский интерфейс реакции на основе функции быстрого делегирования? - PullRequest
0 голосов
/ 08 мая 2020

Я новичок в react native и интегрирую iOS framework. Я хочу обновить пользовательский интерфейс на основе обратного вызова в файле Swift.

LoginContoller:

func validateLogin(userName: String, pswd: String)  {
    HKSDKController.init(withuserName: userName, password: pswd, delegate: self)
}

Delegate function:
func recieveMessage(result: Bool, withError message: String) {
// result = true

//**navigate to SDK screen**
HKSDKController.load(withMainPage: false, andParentViewController: self)
}

Input. js:

 loginWithLogin = (userName, pswd) => {
 if (userName == '') {
 alert("Please enter the userName");
 }
 else if (pswd == '') {
 alert("Please enter the pswd");
 }else {
 NativeModules.LoginContoller.validateLogin(userName,pswd);
 }
 }

Я видел, что есть функция вызова для обновления js:

  @objc func callbackMethod(callback: RCTResponseSenderBlock) -> Void {
  }

Вопрос - 1:

Я хочу обновить пользовательский интерфейс на основе функции обратного вызова recieveMessage. Я вызвал функцию «validateLogin» в файле input. js. Как обработать это и передать результат на вход js.

Если в функции делегата recieveMessage результат истинен, как уведомить файл js.

Вопрос - 2:

Я хочу передать UIViewController как self в **** load (withMainPage: false, ** andParentViewController: self ) **. Когда я пытался установить себя в LoginController, он бросал, как будто это не так andParentViewController: <# T ## UIViewController! #>

Я хочу перейти к классу HKSDKController, но по нему нет навигации.

Причина: andParentViewController: это RCTRootView, а не <# T ## UIViewController! #>

...