Добавить в массив из нескольких textFields? - PullRequest
0 голосов
/ 22 января 2019

У меня есть куча текстовых полей, содержимое которых я хочу добавить к 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? Это немного сложно.

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Есть простой способ:


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

И никакие силы не разворачиваются.Тип результата: [Строка].

0 голосов
/ 23 января 2019

Вы можете сделать

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

Также вы можете создать коллекцию розеток для всех текстовых полей в IB, например

@IBOutlet weak var allTextF:[UITextField]!

вместо индивидуальной привязки каждого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...