[英]Dealloc is not calling immediately after release
我有一个加载两个视图控制器的根视图。 例如: FirstVC
, SecondVC
。
在应用启动时,我将FirstVC
显示为根视图控制器,在FirstVC
上的某些操作上,我SecondVC
删除了SecondVC
来加载SecondVC
。
为了加载SecondVC
我首先通过以下方式删除FirstVC
:
[FirstVCobj.view removeFromSuperView];
[FirstVCobj release];
FirstVCobj = nil;
之后,我分配并创建SecondVC
现在只能打电话后SecondVC
的viewdidload()
是FirstVC
的dealloc()
调用的方法。 这是正确的执行路径,还是由于我犯了一些错误? 以上正是我删除和创建视图控制器的方式。
我认为这是您正在谈论的UIView。
“看”它:将它包装在自己的水池中
@autoreleasepool {
[FirstVCobj.view removeFromSuperView];
[FirstVCobj release];
FirstVCobj = nil;
}
[FirstVCobj removeFromParentAndCleanup:YES];
检查一下是否可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.