0

我的代码从文本字段中获取文本并转到单独的视图控制器。问题是它只能存储 1 个 segue 条目。每次按下按钮时,新的都会替换旧的。如何在 vc2 上将每个新条目存储到 segue。

风险投资

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!

    }
    }

两个VC

import UIKit

class twoViewController: UIViewController {

    @IBOutlet var labelSmtih: UILabel!
    var myString = String()

    override func viewDidLoad() {
        super.viewDidLoad()
        labelSmtih.text = myString
    }



}
4

1 回答 1

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:如何存储用户偏好?

于 2017-10-27T14:08:20.920 回答