UIKit pushViewController:animated: 上的调用会导致最终的堆栈溢出(或其他异常)吗?
Posted
技术标签:
【中文标题】UIKit pushViewController:animated: 上的调用会导致最终的堆栈溢出(或其他异常)吗?【英文标题】:Can calls on UIKit pushViewController:animated: cause eventual stack overflows (or other anomalies)? 【发布时间】:2013-04-22 02:03:40 【问题描述】:对 UIKit pushViewController 的调用会导致最终的堆栈溢出(或其他异常)吗?我的应用现在使用pushViewController:animated:
来跨屏幕导航,例如:
[[self navigationController] pushViewController:iLovePoniesScreen animated:YES];
这最终会在来回浏览屏幕时造成溢出吗?这是 UIKit 中推荐的屏幕导航方式吗?
【问题讨论】:
【参考方案1】:这是推荐的方法之一。除非您要推动 100 个控制器,否则您不应该遇到任何麻烦。当您返回(弹出)时,您离开的视图控制器将被释放,如果您再次前进,则会创建一个新的视图控制器,因此不会构建视图控制器。
【讨论】:
以上是关于UIKit pushViewController:animated: 上的调用会导致最终的堆栈溢出(或其他异常)吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 pushviewcontroller 的情况下制作“pushviewcontroller”动画?
SwiftUI - 使用“pushViewController”时出现致命错误
pushViewController 和 showViewController 的区别