Bowcaps
Bowcaps

Reputation: 127

Unable to Instantiate View Controller

I have a function, whereby I check if the UserDefaults are set and if not a new View Controller opens and presents a login screen which will set the user defaults.

My problem is the view controller does not Instantiate but I get a print "User not registered"

func checkUserAccount() {
        let defaults = UserDefaults.standard
        let accountName = defaults.bool(forKey: "PUserAccountName")
        let accountPassword = defaults.bool(forKey: "PUserAccountPassword")
        if accountName == true && accountPassword == true  {
            print("User Registered")

        } else {

            let storyboard: UIStoryboard = UIStoryboard(name: "PolTRiM", bundle: nil)
            let vc: StudentLoginVC  = storyboard.instantiateViewController(withIdentifier: "studentLogin") as! StudentLoginVC
            vc.modalPresentationStyle = .custom
            vc.modalTransitionStyle = .crossDissolve
            self.present(vc, animated: true, completion: { _ in })
            print("User not registered")
        }

    }

Any thoughts?

Upvotes: 0

Views: 430

Answers (1)

bezoadam
bezoadam

Reputation: 587

Have you double checked UIStoryBoard name and UIViewController identifier if it's written correctly? Otherwise this code is working for me

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier :"MyViewController") as! UIViewController
self.present(viewController, animated: true)    

Upvotes: 1

Related Questions