谁能给我解释一下 modal
和 push
segue 之间的确切区别是什么?
我知道当我们使用 push
时,segue 会被添加到堆栈中,所以当我们继续使用 push
时,它会一直占用内存?
有人可以告诉我这两个是如何实现的吗?
Modal
segues 可以通过简单的 ctrl-click 并拖动到目的地来创建,但是当我使用 push
这样做时,我的应用程序崩溃了。
我正在从一个按钮推送到一个具有 UIViewController
的 UINavigationController
。
最佳答案
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 - UIImageView 上的 UIGestureRecognizer