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
。如果一系列呈现视图控制器中的第一个视图控制器进行了解雇,它会导致所有呈现的控制器被释放(假设您没有对它们持有任何其他强引用)。
基本上我想知道呈现和释放视图控制器的正确方法是什么。
我最初的理解是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
。如果一系列呈现视图控制器中的第一个视图控制器进行了解雇,它会导致所有呈现的控制器被释放(假设您没有对它们持有任何其他强引用)。