繁体   English   中英

发布后,Dealloc没有立即调用

[英]Dealloc is not calling immediately after release

我有一个加载两个视图控制器的根视图。 例如: FirstVCSecondVC

在应用启动时,我将FirstVC显示为根视图控制器,在FirstVC上的某些操作上,我SecondVC删除了SecondVC来加载SecondVC

为了加载SecondVC我首先通过以下方式删除FirstVC

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

之后,我分配并创建SecondVC

现在只能打电话后SecondVCviewdidload()FirstVCdealloc()调用的方法。 这是正确的执行路径,还是由于我犯了一些错误? 以上正是我删除和创建视图控制器的方式。

我认为这是您正在谈论的UIView。


  • addSubview保留视图
  • removeFromSuperView发布或自动释放它-您无法控制的实现细节

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

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

检查一下是否可行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM