Swift用户创建未检测到UIText长度

Swift用户创建未检测到UIText长度,swift,if-statement,Swift,If Statement,正在进行用户创建。非常简单的想法,电子邮件不能是nil或空,password和confirm password必须相等,并且password必须超过6个字符。不管出于什么原因,最后一个条件总是通过true。因此,用户可以使用1个字母或数字密码进行注册。为什么会发生这种情况 else if(emailTxt.text != "" && passwordTxt.text == confirmPassTxt.text && passwordTxt.text?.char

正在进行用户创建。非常简单的想法,电子邮件不能是
nil
或空,
password
confirm password
必须相等,并且
password
必须超过6个字符。不管出于什么原因,最后一个条件总是通过true。因此,用户可以使用1个字母或数字密码进行注册。为什么会发生这种情况

else if(emailTxt.text != "" &&  passwordTxt.text == confirmPassTxt.text && passwordTxt.text?.characters.count > 6){}
另外,有趣的是,我可以很明显地比较这些值,因为这段代码可以获得密码不匹配的结果

else if(emailTxt.text != "" &&  passwordTxt.text != confirmPassTxt.text)

这将正确返回
true
false
。所以问题来自于计算字符数,但我现在看不到。简单的错误?

我解决这个问题的方法很有趣。因为我从来没有给
Swift
一个选项来选择密码是否不超过6个字符,所以它只是假设密码不超过6个字符?不知道为什么,但添加另一个类似的条件是有效的

lse if(emailTxt.text != "" &&  passwordTxt.text == confirmPassTxt.text && passwordTxt.text?.characters.count < 6 && confirmPassTxt.text?.characters.count < 6){
lse if(emailTxt.text!=“和&passwordTxt.text==confirmPassTxt.text和&passwordTxt.text?.characters.count<6和&confirmPassTxt.text?.characters.count<6){

正如您所见,它基本上是相同的,只是我将
符号更改为
,因为它是可选的?从上一个条件中删除问号…已经尝试过了,将
切换为
,但仍然不起作用。尽管如此,我的回答仍然可以