使用iOS Storyboard Seque“Model”或“Push”样式时是否存在任何内存泄漏(或对象过度实例化)?

假设我正在开发一个带有两个屏幕的简单iPhone应用程序:登录和注册屏幕。 在“登录”屏幕中,它具有“注册”按钮,该按钮进入“注册”屏幕。 同样,在“注册”屏幕中,它具有“登录”按钮,该按钮进入“登录”屏幕。 全部使用iOS Storyboard Segue“Modal”风格实现。

问题是:每次通过segue“Modal”样式呈现视图控制器时,是否继续向堆栈添加新视图? 因此,如果我在Login和Register屏幕之间重复切换,它是否会每次都实例化新对象并继续使用内部数组容器(即堆栈)进行累积?

此外,如果我将风格改为“推”,情况将如何与类似的问题相似? 每次“推”时,“推”是否不断将新视图对象添加到顶部?

@trapper绝对正确。 你可以将它们叠加起来,但只要你用dismissViewControllerAnimated:completion:解雇你的“模态”, dismissViewControllerAnimated:completion:不会泄漏dismissViewControllerAnimated:completion:或用dismissViewControllerAnimated:completion:弹出你推动的视图控制器popViewControllerAnimated: 。 如果您错误地将登录/注册屏幕中的segue返回到主视图,那么该内存将不会被释放(这在技术上不是泄漏,但它是错误的,您不会释放内存)。

是的它会继续堆叠它们。

只是为了澄清,它不会导致任何泄漏。