Dealloc调用了UIView子类

问题描述

| 我找不到为什么我拥有的对象被释放的原因。在什么情况下,如果没有uiview对象,则将其释放? 背景: 对象ObjectA是UIView的子类,并在UITableView子类TableA的tableHeaderView中进行子视图。 TableC是TableB的子类,TableB是TableA的子类。 UITableView ==> TableA(此处为tableHeaderView实例化对象A)==> TableB ==> TableC 我目前在TableC中有3个部分,一切正常。如果我添加第4部分,则在ObjectA上调用dealloc。     

解决方法

如果不是您要释放视图,则通常会在超级视图正在卸载或交换内容视图时发生-也就是说,当从视图图中删除子视图时,将向您的子视图发送“ 0”消息(因为子视图由其父视图保留)。 在ѭ1中设置一个断点并检查跟踪应该可以弄清楚原因,尽管如果在销毁自动释放池时取消视图分配,则距调用站点可能很远,那么跟踪将无用。     ,-dealloc在对象被释放,保留,分配或复制的任何时间被调用。就这么简单。 如果您的视图仍然是另一个视图的子视图,则该视图正在被重新分配,则您在某个位置过度释放了它。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...