UIViewController 的循环展示

Circular presentation of UIViewController

基本上我想知道呈现和释放视图控制器的正确方法是什么。

我最初的理解是ViewControllerA presents ViewControllerB with -presentViewController: Animated: Completion:。然后 ViewControllerB 可以通过调用 -dismissViewControllerAnimated: Completion:.

释放自己

现在,如果我有三个视图控制器,A、B 和 C。A 呈现 B,B 呈现 C,C returns 到 A,我应该怎么写?我试图让 C 解雇 B,但这不起作用。唯一似乎真正起作用的是让 C 再次呈现 A,但这合适吗?

任何帮助都会很棒,谢谢!

不行,再提A是不合适的。这将添加一个新实例,当您再次前进到 B 和 C 时,它们也将是新实例。从 C,您可以使用展开转场回到 A,或者您可以在 self.presentingViewController.presentingViewController 上调用 dismissViewControllerAnimated:completion。如果一系列呈现视图控制器中的第一个视图控制器进行了解雇,它会导致所有呈现的控制器被释放(假设您没有对它们持有任何其他强引用)。