【问题标题】:How to put multiple UITextFields into one string on Swift 4?如何在 Swift 4 上将多个 UITextFields 放入一个字符串中?
【发布时间】:2018-04-22 19:43:36
【问题描述】:

我有 6 个 UITextfields,我想将它们全部放在一个字符串中,这样我就可以得到输入到 UItextField 中的内容。

示例:在 UItextfield1 中,我输入了数字“3”,然后在 UItextfield2 中,我输入了数字“5”,以此类推。我想把它放在一个字符串中,这样它就可以读成“35” ....

下面是我的代码。任何帮助都会很棒!

class EnterUsersCode: UIViewController {

    var textField1: UITextField! = {
        let tf = UITextField()
        tf.text = ""
        return tf
    }()

    var textField2: UITextField! = {
        let tf = UITextField()
        tf.text = ""
        return tf
    }()

    var textField3: UITextField! = {
        let tf = UITextField()
        tf.text = ""
        return tf
    }()

    var textField4: UITextField! = {
        let tf = UITextField()
        tf.text = ""
        return tf
    }()

    var textField5: UITextField! = {
        let tf = UITextField()
        tf.text = ""
        return tf
    }()

    var textField6: UITextField! = {
        let tf = UITextField()
        tf.text = ""
        return tf
    }()

    var textFieldArray: [UITextField] {
        return [textField1!, textField2!, textField3!, textField4!, textField5!, textField6!]

}

【问题讨论】:

    标签: ios swift uitextfield swift4


    【解决方案1】:

    你可以试试

     let str = "\(textField1.text)\(textField2.text)"
    

    或将所有字符串连接到一个字符串中

    let str = textFieldArray.compactMap{$0.text}.joined()
    

    【讨论】:

    • 很好地使用了flatMap(呃,compactMap。我需要一段时间才能适应这种变化......)
    【解决方案2】:

    使用您的textFieldArray 获取文本字段并通过循环将text 属性中的字符串附加到变量:

    func getConsolidatedString() -> String {
        var finalString = ""
        for textField in textFieldArray {
            finalString += textField.text ?? ""
        }
        return finalString
    }
    

    【讨论】:

    • 不需要?? "" ,,, 因为它是默认值,即使文本没有设置
    • 是的,根据问题的情况是不需要的,但是如果将文本明确设置为nil呢?默认值是为了安全。
    【解决方案3】:

    您可以使用 + 连接字符串,如下所示:

    let str = textField1.text + textField2.text + textField3.text + textField4.text + textField5.text + textField6.text
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多