我正在使用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]()
答案 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?
,所以需要将它们展开到String
,flatMap
安全地执行