1
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)


    }

}

I want to pass user.username in extension SigninViewController to navigator withIdentifier: "SigninCompletedIdentifier"

enter image description here

Paulw11
  • 108,386
  • 14
  • 159
  • 186

1 Answers1

1

Please try to print your object first:

print("SignInApiManager Object= ", signinAPIManager)

You'll find it nil as you haven't assigned any instance of SigninAPIManager.

Replace the following line of code:

Replace var signinAPIManager: SigninAPIManager? with var signinAPIManager: SigninAPIManager = SigninAPIManager()

Ved Sharma
  • 701
  • 1
  • 6
  • 20