关闭

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

961人阅读 评论(0) 收藏 举报


       当你在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的。


0
0

  相关文章推荐
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:214444次
    • 积分:1848
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:22篇
    • 译文:0篇
    • 评论:11条
    最新评论