iPhone 是否发布模态视图控制器也会将推送的控制器弹出到堆栈上



假设您呈现模态视图控制器(即导航控制器)并推送到导航堆栈 3-4 个视图控制器。关闭模态视图控制器是否也会从导航堆栈中弹出这些控制器,或者它们会继续在内存中徘徊?

我苹果文档指出,在呈现多个模态视图控制器时,如果您关闭根控制器,所有其他控制器都将被关闭,但关闭动画只会发生一次。但是,没有提到,如果您在模态视图控制器上推送了一些控制器然后将其关闭,该怎么办。

当您关闭模态视图控制器时,它将从内存中释放。因此,除非您保留对它的引用,否则所有内容都将被删除,包括堆栈中的内部视图控制器。

但是,如果您确实保留了对它的引用,则它在关闭时将保持活动状态,从而保持其当前状态。下次您展示它时,它将就像您离开时一样。

导航控制器包含在其中推送的视图控制器。 因此,当导航控制器以模态呈现然后关闭时,它的(包含的)视图控制器堆栈也会被清理。

最新更新