使用prepareForSegue将委托从一个VC传递给另一个

时间:2016-12-17 02:20:19

标签: swift delegates key-value-observing

所以我知道如何制作代表并使用prepare for segue传递它们;但是,我有3个视图(让我们称他们为A,B& C)。查看A连接到视图B.视图B有一个通向视图C的按钮。在视图C中,有一个切换开关......

查看连接:A-> B-> C

我希望在视图C中切换开关时,View A知道它。没有使用KVO,因为关系仍然是1比1

2 个答案:

答案 0 :(得分:0)

您可以传递一个闭包A-> B-> C,在切换开关时调用View C中的闭包,并将您想要的任何信息传递给闭包,以通知View A.

答案 1 :(得分:0)

在VCA中

let vcB = storyboard.instantiateViewControllerWithIdentifier("VCB") as VCB 
vcB.myDataB = "set my data"
navigationController?.pushViewController(vcB,animated: true)

在VCB中创建属性

var myDataB : String!

现在,在VCB中推送你的VC

let vcC = storyboard.instantiateViewControllerWithIdentifier("VCC") as VCC 
    vcC.myDataC = myDataB
    navigationController?.pushViewController(vcC,animated: true)

现在,在VCC中,创建属性

var myDataC : String!

现在,您在VCA中的数据位于带有myDataC属性的VCC中,您可以根据需要使用此数据。