【问题标题】:if/else statement always going to else? [duplicate]if/else 语句总是去别的地方? [复制]
【发布时间】:2017-04-04 05:23:49
【问题描述】:

基本上,我要做的就是获取文本字段数据,将其放入数组中,然后检查用户名/密码是否大于或等于 6。我完全不知道为什么总是这样去别的地方?答案可能很明显,但我被卡住了!

代码:

import UIKit

class SignUpVC: UIViewController {

//MARK: Outlets
@IBOutlet weak var usernameTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var showErrorLabel: UILabel!

//MARK: Actions
@IBAction func goBackToLoginButton(_ sender: Any) {

    let username: String = usernameTextField.text!
    let password: String = passwordTextField.text!

    //username/password content into an array
    let userNameArray = ["\(username)"]
    let passwordArray = ["\(password)"]

    //Checks to see if username & password is greater than or equal to 6
    if userNameArray.count >= 6 && passwordArray.count >= 6 {
        print("Username and password is greater than or equal to 6!")
    } else {
        print("Username and password is less than 6!")
        showErrorLabel.isHidden = false
    }

    //Dismiss old views
    dismiss(animated: true, completion: nil)
}

override func viewDidLoad() {
    super.viewDidLoad()
}

【问题讨论】:

  • 您正在检查数组的长度,并且两个数组都恰好有 一个 元素。
  • 要检查用户名或密码是否超过6个字符?
  • 考虑到我花了一两个小时四处寻找我的问题 + 更改代码以尝试“调试”它。我不会问我是否真的被困住了。请为我的不便深表歉意。感谢您的帮助。
  • @Sweeper 我想做的只是 - 如果用户名或密码小于 6,那么它们将留在同一个视图控制器上,否则返回登录视图控制器。
  • @Polo 您需要什么帮助?您创建两个新数组,每个数组只有一个值。然后下一行是if 语句,用于检查这些新数组是否有 6 个或更多值。显然这不可能是真的。

标签: swift


【解决方案1】:

正如@Martin R 所指出的,您的两个数组都由一个元素组成,因此.count 在这种情况下返回 1。

由于您尝试检查密码和用户名长度是否为>= 6,因此根本不需要数组。只需这样做

let userName: String = usernameTextField.text!
let password: String = passwordTextField.text!

if userName.characters.count >= 6 && password.characters.count >= 6
{
  print("Username and password is greater than or equal to 6!")
}
else
{
   print("Username or password is less than 6!")
   showErrorLabel.isHidden = false
}

【讨论】:

    猜你喜欢
    • 2020-10-25
    • 2017-09-11
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 2019-04-09
    • 1970-01-01
    相关资源
    最近更新 更多