如何在Swift 4上将多个UITextField放入一个字符串?

Box*_*use 1 uitextfield ios swift swift4

我有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!]

}
Run Code Online (Sandbox Code Playgroud)

Sh_*_*han 5

你可以试试

 let str = "\(textField1.text)\(textField2.text)"
Run Code Online (Sandbox Code Playgroud)

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

let str = textFieldArray.compactMap{$0.text}.joined()
Run Code Online (Sandbox Code Playgroud)

  • 很好地使用`flatMap`(呃,`compactMap`.这个改变需要我一段时间才能习惯...) (3认同)