gpt4 book ai didi

ios - ViewController 没有被释放

转载 作者:行者123 更新时间:2023-11-29 13:50:48 38 4
gpt4 key购买 nike

每次我在我的应用程序中翻页时,我都会删除并释放以前的 viewController - 但由于某种原因它仍在内存中。我知道这一点,因为在使用该应用程序一段时间后,我收到 47 个内存警告 - 每个 View Controller 一个 - 如果我在内存警告发生之前打开了 47 个页面。如果我在出现内存警告之前打开了 60 个页面,我将收到 60 个内存警告。等等……

这是从一个页面运行到另一个页面的代码:

UIViewController *nextController;
Class nextClass = [pageClasses objectAtIndex:(currentPageIndex - 1)];
nextController = [[nextClass alloc] initWithNibName:[pageNibs objectAtIndex:(currentPageIndex - 1)] bundle:nil];
[nextController performSelector:@selector(setDelegate:) withObject:self];

[currentPageController.view removeFromSuperview];
[self.view addSubview:nextController.view];

[currentPageController release];
currentPageController = nextController;
[currentPageController retain];
[nextController release];

任何人都可以指出他们看到的任何问题吗?

非常感谢!

最佳答案

顺便说一句,确保你也 nil 你的 viewController 在 viewDidUnload 中的任何导出,并且通常与 viewDidLoad 中的任何相应代码相反>。我看到很多 iOS 代码没有这样做,它会停止运行时正确卸载 View Controller 和相关 View 。

关于ios - ViewController 没有被释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567537/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com