将文本字段视为字符串数组

时间:2016-07-19 14:22:03

标签: arrays swift segue

我正在使用swift做一个应用程序,它接受6个文本字段中的条目,并将它们通过segue传递到第二个视图控制器上的空字符串数组中。我怎么做?

这是我的代码,是基础,但我不知道如何通过发送信息。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    let destination = segue.destinationViewController as! secondView

    if segue.identifier == segueID {

        destination.stringArray = ?

    }

}

我的第二个视图控制器上的数组是:

var stringArray = [String]()

2 个答案:

答案 0 :(得分:2)

最短路:

destination.stringArray = view.subviews.flatMap { ($0 as? UITextField)?.text }

答案 1 :(得分:1)

您的6个文本字段是IBOutletCollection(换句话说,是一组文本字段)还是它们各自为IBOutlet(文本字段)?无论哪种方式,您的问题都归结为将所有文本值放在一个数组中,如果它们位于IBOutletCollection中,则可以这样做:

destination.stringArray = myTextFieldCollection.flatMap { $0.text }

或者,如果他们不在数组中:

destination.stringArray = [myTextField1, myTextField2, ...,
    myTextField6].flatMap { $0.text }

我在这些中使用flatMap因为UITextField.text是可选的String?,所以需要将它们展开到StringflatMap安全地执行