Swift代码问题!=

时间:2018-06-12 14:21:56

标签: swift

当我不等于时,我遇到了问题!=无论如何都会显示警报。

当我把它等同时,它什么都不做,但一切看起来都是正确的。我的代码如下,我遇到的问题是密码不匹配然后返回。我知道我在故事板中连接了所有内容,因为当我点击txtpassword时它全部亮起绿色,同样也是确认密码。

import UIKit

class SignupVC: UIViewController {
    @IBOutlet var txtUsername: UITextField!
    @IBOutlet var txtPassword: UITextField!

    @IBOutlet var txtConfirmpassword: UITextField!
    @IBOutlet var txtEmail: UITextField!

    @IBAction func signupTapped(_ sender: Any) {
        _ = txtUsername.text;
        _ = txtPassword.text;
        _ = txtConfirmpassword.text;
        _ = txtEmail.text;

        //check empty fields
        if((txtPassword.text?.isEmpty)! || (txtConfirmpassword.text?.isEmpty)! || (txtEmail.text?.isEmpty)!)
        {

         //Display alert
            displayMyAlertMessage(userMessage: "All fields are required")
            return;
        }
        //check if passwords match
        if(txtPassword == txtConfirmpassword)
        {
            //Display in alert message
            displayMyAlertMessage(userMessage: "Passwords don't match");
            return;
        }
        //store Data

        // Display alert message with Confirmation
    }

    func displayMyAlertMessage(userMessage:String)
    {
        let myAlert = UIAlertController(title:"Alert", message: userMessage, preferredStyle: UIAlertControllerStyle.alert);
        let okAction = UIAlertAction(title:"ok", style: UIAlertActionStyle.default, handler:nil);

        myAlert.addAction(okAction);

        self.present(myAlert, animated:true, completion:nil);
    }
}

1 个答案:

答案 0 :(得分:2)

你在说

    if(txtPassword == txtConfirmpassword)

这些是文本字段

   @IBOutlet var txtPassword: UITextField!
   @IBOutlet var txtConfirmpassword: UITextField!

它们不是同一个文本字段,因此测试永远不会通过。您想知道的是它们是否包含相同的文本 - 并且您没有对此进行测试。那将是:

    if txtPassword.text! == txtConfirmpassword.text!