您的位置:首页 > 其它

当你遇到"modifying layer that is being finalized"的时候怎么办?

2012-03-22 14:58 295 查看



当你在iphone程序编程过程中,遇到"modifying layer that is being finalized",你要怎么办呢?一般来说这个问题都是由于重复释放一个UIView导致的。例如:

UIView *view = [[UIView alloc] init] autorelease];
[THE_SUPER_VIEW addSubview:view];
[view release]


这个时候,当程序运行到[view release]的时候就会出现如题所说的问题。所以,如果view已经被释放(包括动态释放),那么就不要再调用release方法了,因为当这个view从其父view中被移除的时候,也会被释放。

我遇到这样一个问题,我push出一个tableview,在push出的这个tableview里面,一个UITableView类型的全局实例变量contentTableView,用于创建tableview,我在viewdidload里面contenTableView=[[UITanleView alloc]init];随后释放掉了,我又在dealloc里面释放掉了,结果在ios4上面crash了,原因是"modifying layer that is being finalized",但在ios5上面运行是ok的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐