有人可以向我解释modal和pushsegue 之间的确切区别是什么吗?
modal
push
我知道当我们使用pushsegue 时,它会被添加到堆栈中,所以当我们继续使用push它时,它会一直占用内存?
有人可以告诉我这两个是如何实现的吗?
Modal可以通过简单地ctrl-click拖动到目的地来创建segues,但是当我这样做时push我的应用程序崩溃了。
Modal
ctrl-click
我正在从一个按钮推到一个UINavigationController有UIViewController.
UINavigationController
UIViewController
推送 Segue 正在向导航堆栈添加另一个 VC。这假定发起推送的 VC 是添加到堆栈的 VC 所属的同一导航控制器的一部分。内存管理不是导航控制器和深度堆栈的问题。只要您处理可能从一个 VC 传递到另一个 VC 的对象,运行时就会处理导航堆栈。请参阅图像以获取视觉指示:
模态 Segue 只是一个 VC 呈现另一个 VC 模态。VC 不必是导航控制器的一部分,并且以模态方式呈现的 VC 通常被认为是呈现(父)VC 的“子”。模态呈现的 VC 通常没有任何导航栏或标签栏。呈现的 VC 还负责解散它创建和呈现的模态 VC。
希望这可以帮助。