我的代码从文本字段中获取文本并分段到单独的视图控制器。问题是它只能存储1个segue条目。每按一次按钮,新的替换旧的。如何在vc2上将每个新条目存储到segue。
VC
import UIKit
class ViewController: UIViewController {
@IBOutlet var txt: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func pressButton(_ sender: Any) {
if txt.text != "" {
performSegue(withIdentifier: "segue", sender: self)
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let secondController = segue.destination as! twoViewController
secondController.myString = txt.text!
}
}
twoVC
import UIKit
class twoViewController: UIViewController {
@IBOutlet var labelSmtih: UILabel!
var myString = String()
override func viewDidLoad() {
super.viewDidLoad()
labelSmtih.text = myString
}
}
答案 0 :(得分:0)
如果第二个视图控制器是一个UISplitViewController,你应该能够通过以下几行做一些事情,将按钮的文本附加到标签:
@IBAction func pressButton(_ sender: Any) {
if txt.text != "" {
performSegue(withIdentifier: "segue", sender: self)
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let secondController = segue.destination as! twoViewController
secondController.myString += txt.text!
}
}
如果你真的有一个独立的视图控制器,一旦你回到第一个VC,它可能会丢失数据。在这种情况下,我建议你在第二个VC的viewWillDisappear上保存标签的当前文本,然后在第一个VC上的prepareforsegue函数中检索它。更多信息:Swift: How to store user preferences?