快速注销功能

时间:2018-07-04 22:59:38

标签: ios swift

我正尝试在我的应用程序中提供注销功能,我想知道这种方式是否是继续的好方法。所涉及的类如下所述:

第一个是AuthViewCoordinator,该类将用户重定向到身份验证屏幕

for r in df:
    dep = r["dep"].astype(str)
    r["region"] = dep_dict.get(dep)

第二个是名为SessionController的外部类。在此类中,我尝试在删除令牌后立即在函数注销中调用AuthViewCoordinator()。start(),以再次向用户显示auth屏幕,但输出为

  

使用未解析的标识符'AuthViewCoordinator'

protocol AuthViewCoordinatorDelegate: class {
    func authCompleted(coordinator: AuthViewCoordinator)
}

class AuthViewCoordinator: Coordinator {

    weak var fromViewController: UIViewController?
    weak var navigationController: UINavigationController?
    weak var delegate: AuthViewCoordinatorDelegate?

    init(fromViewController: UIViewController, delegate: AuthViewCoordinatorDelegate) {
        self.fromViewController = fromViewController
        self.delegate = delegate
    }

    func start() {
        let authViewController = UIStoryboard.main.instantiateViewController(withIdentifier: "AuthViewController") as! AuthViewController
        authViewController.coordinator = self
        let navigationController = NavigationController(rootViewController: authViewController)
        navigationController.navigationBar.isHidden = true
        fromViewController?.present(navigationController, animated: true, completion: nil)
        self.navigationController = navigationController
    }

    func userDidSelectLogin() {
        let loginViewController = UIStoryboard.main.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
        loginViewController.viewModel.coordinator = self
        self.navigationController?.pushViewController(loginViewController, animated: true)
    }

    func userDidSelectSignUp() {
        let signupViewController = UIStoryboard.main.instantiateViewController(withIdentifier: "SignUpViewController") as! SignUpViewController
        signupViewController.viewModel.coordinator = self
        self.navigationController?.pushViewController(signupViewController, animated: true)
    }

    func userDidLogin() {
        navigationController?.dismiss(animated: true, completion: nil)
        self.delegate?.authCompleted(coordinator: self)
    }

    func userDidSignUp() {
        navigationController?.dismiss(animated: true, completion: nil)
        self.delegate?.authCompleted(coordinator: self)
    }

}

0 个答案:

没有答案
相关问题