从多个文本字段追加到数组?

Append to array from multiple textFields?

我有一堆文本字段,我想将其内容添加到 array
我尝试了不同的方法,我用这个方法得到了它:

@IBAction func addToArrayTapped(_ sender: UIButton) {

        if let fromTextField1 = textField1.text {
            array.append(fromTextField1)
        }
        if let fromTextField2 = textField2.text {
            array.append(fromTextField2)
        }
        if let fromTextField3 = textField3.text {
            array.append(fromTextField3)
        }
        print(array) 
}    

这真的是将内容从 textField 添加到 array 的正确方法吗?感觉有点复杂。

你可以做到

let arr = [textField1,textField2,textField3].map { [=10=].text! }

您还可以为 IB 中的所有文本字段创建出口集合,例如

@IBOutlet weak var allTextF:[UITextField]!

而不是单独挂钩每个

有一个简单的方法:


    // Here you can use IBOutlet collection or form textFields array programmatically
    let textFields = [textField1, textField2, textField3] 
    let result = textFields.compactMap { [=10=].text }

并且没有力展开。结果类型为 [String].