导航控制器不起作用

时间:2018-07-19 05:13:32

标签: swift uinavigationcontroller segue

用于验证电子邮件,密码和确认密码的注册UIViewController设计。

Signup嵌入在NavigationController

func showAlert(ttl:String,msg:String){
    let alert = UIAlertController(title: "\(ttl)", message: "\(msg)", preferredStyle: UIAlertControllerStyle.alert)
    alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: nil))
    self.present(alert, animated: true, completion: nil)
}

@IBAction func signUp(_ sender: UIButton) {
    if (email.text != nil && password.text != nil && confrimPassword.text != nil){
        if !(isValidEmail(testStr: email.text!)){
        showAlert(ttl: "Invaild Email-ID", msg: "Please enter an valid Email-ID")
    }
        else if !(isValidPassword(testStr: password.text)){
        showAlert(ttl: "Invalid Password", msg: "Password must have at least one uppercase,one digit,one lowercase and minimum 8 characters")
    }
        else if !(passwordMatch(password: password.text!, confirmPassword: confrimPassword.text!)){
        showAlert(ttl: "Passwords doesn't Match", msg: "Please re-enter your password")
    }
    else{
        if Connectivity.isConnectedToInternet {
            Authentication.Signup(for: email.text!, password: password.text!,finished: { resdata in do{ let res = try JSONSerialization.jsonObject(with: resdata) as! Dictionary<String, AnyObject>
                print(res)
                DispatchQueue.main.async {
                    let view: Verification = self.storyboard?.instantiateViewController(withIdentifier: "Verify") as! Verification
                    view.email = self.email.text! 
     //doesnot work
         self.navigationController?.pushViewController(view, animated: true)
                }

            }
            catch{
                print("Error")
                }
            })
        }
        else{
            showAlert(ttl: "No Internet", msg: "Please check your internet connection")
        }
    }
    }
    else{
       self.showAlert(ttl: "Enter all Credentials", msg: " ")
        }
    }

}

尝试使用segue也不符合我的要求

1 个答案:

答案 0 :(得分:0)

@IBAction func signUp(_ sender: UIButton) {
Authentication.Signup(for: email.text!, password: password.text!,finished: { resdata in do{
let res = try JSONSerialization.jsonObject(with: resdata) as! Dictionary<String, AnyObject>
print(res)
DispatchQueue.main.async {
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let controller = storyboard.instantiateViewController(withIdentifier: "Verify") as! Verification
    controller.email = self.email.text!
    self.present(controller, animated: true, completion: nil)
}
}