繁体   English   中英

Dealloc 调用了 UIView 子类

[英]Dealloc called for UIView subclass

我找不到我拥有的 object 被释放的原因。 在什么情况下 uiview object 在没有其超级视图时被释放?

背景:object,ObjectA,是 UIView 的子类,并在名为 TableA 的 UITableView 的子类中的 tableHeaderView 中进行细分。 TableC 是 TableB 的子类,TableB 是 TableA 的子类。

UITableView ==> TableA(objectA 在此处为 tableHeaderView 实例化)==> TableB ==> TableC

我目前在 TableC 中有 3 个部分,一切正常。 如果我添加第 4 部分,则在 ObjectA 上调用 dealloc。

如果不是您发布视图,它通常会在超级视图正在卸载或交换内容视图时发生 - 也就是说,当您的子视图从视图图中删除时,您的子视图将收到一条release消息(因为子视图由它们的父视图保留)。

-[MONSubview dealloc]中设置断点并检查跟踪应该使原因显而易见,尽管如果您的视图在自动释放池被销毁时被释放,那么跟踪将不会有用,那么它可能距离调用点数英里。

每当 object 被保留、分配或复制时,都会调用 -dealloc。 就是这么简单。

如果您的视图正在被释放,即使它仍然是另一个视图的子视图,那么您在某处过度释放它。

暂无
暂无

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

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