【问题标题】:why in don't pass value user.username to navigator为什么不将值 user.username 传递给导航器
【发布时间】:2020-06-14 21:04:59
【问题描述】:
class SigninViewController: UIViewController {

    @IBOutlet weak var usernameTextField: UITextField!
    @IBOutlet weak var passwordTextField: UITextField!

    var signinAPIManager: SigninAPIManager?

    override func viewDidLoad() {
        super.viewDidLoad()

        setupView()

        setupData()

    }

    private func setupData() {
        setupServices()
    }

    private func setupView() {
        setupTextFields()
    }

    private func setupTextFields() {
        let textFields = [usernameTextField, passwordTextField]

        textFields.forEach{ $0?.delegate = self }
    }


    @IBAction func signinButton(_ sender: Any) {
        signinAPIManager?.signin(optionalUsername: usernameTextField.text,
        optionalPassword: passwordTextField.text)
    }


    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "SigninCompletedIdentifier"{
            if  segue.destination is HomeTableViewController{
                let vc = segue.destination as? HomeTableViewController
                vc?.textUser = "asds"
            }
        }
    }
}



 }

extension SigninViewController: SigninAPIManagerDelegate {
    func didSigninCompletion(user: User) {


        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let secondController = storyboard.instantiateViewController(withIdentifier: "secondary") as! HomeTableViewController
        secondController.textUser = user.username



        performSegue(withIdentifier: "SigninCompletedIdentifier", sender: self)


    }

}

我想将扩展 SigninViewController 中的 user.username 传递给导航器 withIdentifier: "SigninCompletedIdentifier"

【问题讨论】:

  • 您从未真正将SigninAPIManger 的实例分配给属性并设置其委托
  • 你遇到了什么问题?

标签: ios swift tableview viewcontroller navigator


【解决方案1】:

请先尝试打印您的对象:

print("SignInApiManager Object=", signinAPIManager)

您会发现它为零,因为您没有分配任何 SigninAPIManager 实例。

替换以下代码行:

var signinAPIManager: SigninAPIManager? 替换为 var signinAPIManager: SigninAPIManager = SigninAPIManager()

【讨论】:

    猜你喜欢
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    相关资源
    最近更新 更多