Как получить ссылку на Viewcontroller в Framework - PullRequest
0 голосов
/ 14 октября 2019

У меня есть одно приложение, структура моего приложения которого ниже.

  • Приложение
    • FirstViewController
    • SecondViewController
  • ABCFramework
    • ABCViewController

В My ABCFramework мне нужен объект FirstViewController, ноЯ не могу импортировать или найти FirstViewController в рамках.

1 Ответ

0 голосов
/ 14 октября 2019

Фреймворк должен работать независимо, без привязки к вашему текущему приложению.

Лучший способ добиться этого - использовать шаблон делегата для вашего приложения, чтобы реагировать на события, инициируемые платформой. Пример ниже для пользователя, входящего в приложение

Таким образом, вы можете сделать что-то вроде этого:

protocol ABCFrameworkProfileDelegate: AnyObject {
    func userDidLogin()
    func authenticationFailed(withError: Error)
}

Затем в вашем приложении:

import ABCFramework

// maybe on button tap?
let authService = ABCAuthService()
authService.login(username: "user", password: "pwd")

// once the login request completes either this or the failed method should be called.
func userDidLogin() {
    let vc = FirstViewController() 
    push(vc, animated: true)
}

Таким образом, вашПриложение может управлять тем, какие представления показывать, основываясь на том, какие события происходят.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...