当前位置: 首页 > 工具软件 > Segue > 使用案例 >

iOS normal segue 与 unwind segue 的区别

胥宏义
2023-12-01

Unwind Segue 普通的 Segue的不同之处在于:


1.普通Segue,用的是源ViewControllerprepare函数,代码是写在源ViewController里的,在源ViewController里对目标ViewController的相关属性进行操作。而Unwind Segue的代码是写在目标ViewController里的。在目标ViewController里,通过

@IBAction func unwindToMainMenu(sender: UIStoryboardSegue)函数接收源ViewController对象。


2.普通的 Segue会创建一个新的目标ViewController实例,在源ViewController里对目标ViewController配置好后,再过渡到目标实例。也就是说用Segue链接的目标ViewController在跳转之前是可以还没实例化的。而Unwind Segue的目标ViewController必须是已经实例化了的,否则跳转将无效。


3.因为普通Segue是采取实例化目标ViewController,并向其过渡,所以只能在相邻的ViewController之间跳转,而Unwind Segue则可以在Unwind Segue发起端跳到任何已经实例化了的ViewController上去,只要将Unwind Segue与目标ViewController上写的

@IBAction func unwindToMainMenu(sender: UIStoryboardSegue)函数绑定。所以Unwind Segue是可以跨多个ViewController进行跳转的,并且目标ViewController可以是压在导航栈里的任何ViewController。

 类似资料: