在单文本字段Swift中验证密码

时间:2016-08-09 15:29:42

标签: ios swift uitextfield nsuserdefaults

这是我的应用程序的主要故事板:

enter image description here

我有一个iOS应用程序,我必须在输入4位数后将标签内的文本从“设置密码”更改为“确认密码”,然后清除文本字段。通过单击按钮完成密码输入。

现在,我必须再次给出4位数,并使用用户默认值比较两个条目。我知道如何使用两个文本字段,但不知道如何使用单个文本字段实现它。

1 个答案:

答案 0 :(得分:3)

创建Label,TextField和Button,将它们全部添加到视图控制器并为Button创建IBAction。在Attribute Inspector中,将按钮的标签号设置为2,您还可以将TextFields键盘类型更改为Number Pad。

Setup

现在添加三个变量:

var Password1: String?
var Password2: String?
var Offical_Password: String?

在ViewDidLoad函数中,按钮标记设置为1:

Button.tag = 1

下面显示的这两个函数将处理TextField和Label的设置。它还将检查Password1是否等于Password2,然后设置Official_Password:

    func Password () {
    if (TextField.text == "") {
        // Password is required
    } else {
        Lable.text = "Confirm Password"
        Password1 = TextField.text
        TextField.text = ""
    }
}


func Password_Confimed () {
    if TextField.text == "" {
        // Confirmation Password is required
    } else {
        Password2 = TextField.text
    }
    if Password1 == Password2 {
        Lable.text = "Done"
        Offical_Password = Password1
        TextField.text = ""
    } else {
        // Handle error
    }
}

最后在IBAction函数中添加:

@IBAction func Button_Pressed(sender: AnyObject) {
    if Button.tag == 1 {
        Password()
        Button.tag = 2
    } else if Button.tag == 2 {
        Password_Confimed()
        // Go to another View Controller
    }
}

The Final Result

您必须添加处理问题的方式,例如确保密码不会太弱以及设置密码时您真正想要做的事情。