gpt4 book ai didi

ios - Dealloc 释放后不会立即调用

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

我有一个加载两个 View Controller 的 Root View 。例如:FirstVCSecondVC

当应用程序启动时,我将 FirstVC 显示为 Root View Controller ,在 FirstVC 上执行某些操作时,我通过删除第一个来加载 SecondVC

为了加载SecondVC,我首先删除FirstVC

[FirstVCobj.view removeFromSuperView];  
[FirstVCobj release];
FirstVCobj = nil;

之后我分配并创建SecondVC

现在只有在调用SecondVCviewdidload()之后才会调用FirstVCdealloc()方法.这是正确的执行路径,还是因为我犯了一些错误?以上正是我删除和创建 View Controller 的方式。

最佳答案

我假设你说的是 UIView。


  • addSubview 保留 View
  • removeFromSuperView 释放或自动释放它——一个您无法控制的实现细节

“查看”它:将它包装在您自己的池中

@autoreleasepool {
[FirstVCobj.view removeFromSuperView];
[FirstVCobj release];
FirstVCobj = nil;
}

关于ios - Dealloc 释放后不会立即调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26058459/

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