ios - 验证文本字段Swift 3

标签 ios uitextfield swift3

我试图将所有文本字段都设为必填项,以确保用户不会将其留空。我尝试了此操作,但由于某种原因它无法正常工作。我觉得我的逻辑是正确的,但这是swift逻辑的问题

这是我的代码:

let title = txtTitle.text!
let location = txtWhere.text!
let when = txtWhen.text!


    if title != nil && location != nil && when != nil {

        var titleArray = [String]()
        var whereArray = [String]()
        var whenArray = [String]()

        let titleObject = UserDefaults.standard.object(forKey: "saveTitle")
        let whereObject = UserDefaults.standard.object(forKey: "saveLocation")
        let whenObject = UserDefaults.standard.object(forKey: "saveWhen")




        if let tempTitle = titleObject as? [String] {

            titleArray = tempTitle
            titleArray.append(txtTitle.text!)
            print(titleArray)

        }
        else {

            titleArray = [txtTitle.text!]

        }

        if let tempWhere = whereObject as? [String] {

            whereArray = tempWhere
            whereArray.append(txtWhere.text!)
            //print(titleArray)

        }
        else {

            whereArray = [txtWhere.text!]

        }

        if let tempWhen = whenObject as? [String] {

            whenArray = tempWhen
            whenArray.append(txtWhen.text!)
            //print(titleArray)

        }
        else {

            whenArray = [txtWhen.text!]

        }


        UserDefaults.standard.set(titleArray, forKey: "saveTitle")
        UserDefaults.standard.set(whereArray, forKey: "saveLocation")
        UserDefaults.standard.set(whenArray, forKey: "saveWhen")
        txtTitle.text = ""
        txtWhere.text = ""
        txtWhen.text = ""
        txtTime.text = ""

    }
        else
    {

        errMsg.isHidden = false
        errMsg.text = "All fields are required"

    }
}

最佳答案

要可靠地检查文本字段的text属性是否不是nil并且不为空,请使用

if let title = txtTitle.text, !title.isEmpty,
   let location = txtWhere.text, !location.isEmpty,
   let when = txtWhen.text, !when.isEmpty { ...

如果所有条件都通过,则三个变量将安全地展开。

关于ios - 验证文本字段Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41023145/

相关文章:

iOS 应用程序在显示键盘时崩溃

ios - UISearchController updateSearchResults 问题

ios - 如何在 iOS 7/8 的单个 View 上禁用横向

ios - SWRevealViewController panGestureRecognizer 与 pageViewController iOS(滑动侧菜单)

ios - 如何关闭多个文本字段的所有键盘?

ios - 使用 "Next"作为返回键

ios - 调用 timeAgoSinceDate 函数 Swift

ios - 销毁Objective-C中的对象

ios - 蒙版效果是旋转照片

ios - 如何在 map 中标记注释并在选择注释时获取标记值