ios - Storyboard 中的 Modal 和 Push segue 有什么区别?

谁能给我解释一下 modalpush segue 之间的确切区别是什么?

我知道当我们使用 push 时,segue 会被添加到堆栈中,所以当我们继续使用 push 时,它会一直占用内存?

有人可以告诉我这两个是如何实现的吗?

Modal segues 可以通过简单的 ctrl-click 并拖动到目的地来创建,但是当我使用 push 这样做时,我的应用程序崩溃了。

我正在从一个按钮推送到一个具有 UIViewControllerUINavigationController

最佳答案

push Segue 正在向导航堆栈添加另一个 VC。这假定发起推送的 VC 是添加到堆栈的 VC 所属的同一导航 Controller 的一部分。内存管理不是导航 Controller 和深度堆栈的问题。只要您处理可能从一个 VC 传递到另一个 VC 的对象,运行时就会处理导航堆栈。请参阅图像以获取视觉指示:

modal Segue 只是一个 VC 以模态方式呈现另一个 VC。 VC 不必是导航 Controller 的一部分,并且以模态方式呈现的 VC 通常被认为是呈现(父)VC 的“子”。模态呈现的 VC 通常没有任何导航栏或标签栏。呈现的 VC 还负责解散它创建和呈现的模态 VC。

希望这会有所帮助。

https://stackoverflow.com/questions/9392744/

相关文章:

ios - 如何在 NSAttributedString 中创建可点击链接?

objective-c - 最佳实践? - 数组/字典作为核心数据实体属性

ios - 在 UITableViewCell 中有一个 UITextField

objective-c - Objective-C Cocoa 应用程序中的正则表达式

objective-c - Objective-C中方法旁边的加号和减号是什么意思?

objective-c - 是否可以刷新 UITableView 中的单个 UITableViewC

ios - 如何在 Swift 中设置返回按钮文本

ios - UIImageView 上的 UIGestureRecognizer

ios - 为 iOS 7 半透明 UINavigationBar 实现明亮、生动的色彩

objective-c - 解决 Objective-C 命名空间冲突的最佳方法是什么?