当用户点击按钮时,会出现一个新的选项卡视图控制器,其中包含两个视图控制器。以下是我的做法。
这个很好运行。我在
但它从未下降。如果我再次呈现它,它甚至会再次上升
我正在使用ARC。为什么视图控制器使用的内存在被解散后没有释放?
ACLevelDownloadController *dvc = [[ACLevelDownloadController alloc] initWithNibName:@"ACLevelDownloadController" bundle:[NSBundle mainBundle]];
ACInstalledLevelsController *ivc = [[ACInstalledLevelsController alloc] initWithNibName:@"ACInstalledLevelsController" bundle:[NSBundle mainBundle]];
UITabBarController *control = [[UITabBarController alloc] init];
control.viewControllers = @[dvc, ivc];
dvc.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFeatured tag:0];
ivc.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:1];
[self presentViewController:control animated:YES completion:nil];
这个很好运行。我在
ACLevelDownloadController
和ACInstalledLevelsController
中使用dismiss
方法来解散视图控制器,这也很好运行。但奇怪的是,当我呈现视图控制器时,内存使用量却上升了。
![enter image description here](https://istack.dev59.com/nzlQU.webp)
![enter image description here](https://istack.dev59.com/DBpR4.webp)
编辑
ACLevelDownloadController
和ACInstalledLevelsController
都有IBActions连接到调用此方法的单击时,它们解散。- (void)dismiss:(id)sender{
[self dismissViewControllerAnimated:YES completion:nil];
}
self.presentingViewController
上调用dismiss...
方法,而不是在self
上调用吗? - Gabriele Petronella