Ala*_*per 3 iphone uiviewcontroller ios
有关于IOS控制器的一般问题:
在启动ios创建默认UI视图控制器,然后我可以调用presentViewController或使用Segue打开其他人
问题是先前的控制器是否还在内存中?
例如,这里是链:A-> B-> C-> D-> B-> C ......等等,转变B-> C-> D-> B处于循环中.
它会创建每个控制器的新实例并保留每个副本吗?它会重复使用吗?
谢谢
是的,如果你正在进行模态segues和presentViewController调用,ViewControllers仍然存在.您应该调用[self dismissViewControllerAnimated:YES completion:nil];并解除堆栈以返回到您已经创建的viewController,而不是将您已经创建过的这些viewControllers的新实例转换为新的实例.
您可以使用以下presentingViewController属性:
[[[self presentingViewController]presentingViewController]dismissViewControllerAnimated:YES completion:nil]...etc
Run Code Online (Sandbox Code Playgroud)
要么
[self.navigationController popToRootViewControllerAnimated:YES]; (如果你使用的是导航VC)
为了快速解散几个viewControllers.
viewDidLoad将不会再次调用,但您可以刷新viewController内部viewWillAppear和viewDidAppear.
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |