如何将数据从textField推送到另一个VC中的标签

问题描述

我有带有4个标签和4个goToVC按钮的mainVC,每个按钮都使用segue来显示4个VC中的另外1个。每个vc都有textField和doneButton。我想在mainVC标签中显示来自textField的文本,并且我想使用委托。但是相反,我得到了空标签。请帮忙。

Delegate.swift

const tasksDocument = await db.collection.findOne({id: 123});
let unsetArr = tasksDocument.taskIds.map(v => `tasks.${v}`);
await db.collection.updateOne({id: 123},{$unset: unsetArr});

MainVC.swift

protocol TextFieldDelegate {
    func didFinishTextField(text: String)
} 

RedVC(其他3个相同).swift

class MainViewController: UIViewController,TextFieldDelegate {
    
    @IBOutlet weak var redText: UILabel!
    @IBOutlet weak var orangeText: UILabel!
    @IBOutlet weak var pinkText: UILabel!
    @IBOutlet weak var purpleText: UILabel!
    
    var choosenLabel: UILabel?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        }
    
    override func prepare(for segue: UIStoryboardSegue,sender: Any?) {
        if segue.identifier == "toRedVC" {
            let vc = segue.destination as! RedViewController
            vc.delegate = self
            choosenLabel = redText
        } else if segue.identifier == "toOrangeVC" {
            let vc = segue.destination as! OrangeViewController
            vc.delegate = self
            choosenLabel = orangeText
        } else if segue.identifier == "toPinkVC" {
            let vc = segue.destination as! PinkViewController
            vc.delegate = self
            choosenLabel = pinkText
        } else if segue.identifier == "toPurpleVC" {
            let vc = segue.destination as! PurpleViewController
            vc.delegate = self
            choosenLabel = purpleText
        }
    }
    
    func didFinishTextField(text: String) {
        if let data = choosenLabel {
            data.text = text
        }
    }
   
    @IBAction func redButton(_ sender: UIButton) {
    }
    @IBAction func orangeButton(_ sender: UIButton) {
    }
    @IBAction func pinkButton(_ sender: UIButton) {
    }
    @IBAction func purpleButton(_ sender: UIButton) {
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)