为什么一个单一的休止符具有不同的行为?

时间:2019-03-24 02:18:35

标签: swift xcode segue uistoryboard unwind-segue

我有一个Swift应用程序,其中包含一个带有三个不同视图控制器的情节提要。用户可以通过两种不同的方式在这些视图控制器之间进行转换:

VC1-> VC2-> VC3

OR

VC1-> VC3

在VC3中,用户可以按下“后退”按钮,该按钮以编程方式使用以下代码退回到VC1:

self.performSegue(withIdentifier: "UnwindToVC1", sender: self)

该解散键与在情节提要中创建的“解散键”相关联,该解散键在VC1中解散到以下功能:

@IBAction func unwindToVC1(segue: UIStoryboardSegue) {
    print("Unwind")
}

如果用户直接从VC1转到VC3,则应用正确解开,将用户返回VC1并显示“解开”。

但是,如果用户从VC1切换到VC2,再到VC3,则展开仍会将用户返回到VC1,但是从不调用unwindToVC1函数,也从不打印“ Unwind”。

为什么相同的放松动作表现不一致?有没有办法确保始终调用VC1中的unwind函数?

0 个答案:

没有答案