首页 > 解决方案 > 如果 segue 已在使用中,则从 previos VC 传回数据

问题描述

我有 VC“A”,我从中将一些数据传递给“B”。在属性检查器中,我将我的序列称为“B”:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "B" {
            let vc = segue.destination as! ChooseController
            vc.someData = "passedDataFromAToB"
    } 

之后,我想使用委托和协议将一些数据从 B 传递回 A,但事实证明我的 segue 标识符很忙。我必须创建新的segue?但是,如何以编程方式?

标签: iosswift

解决方案


您需要在此处设置委托

let vc = segue.destination as! ChooseController
vc.delegate = self
vc.someData = "passedDataFromAToB"

class ChooseController:UIViewController {
  weak var delegate:AVC?

然后在解雇之前传递数据

delegate?.sendData(data)
self.dismiss(animated:true,completion:nil)

推荐阅读