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


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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章