當你遇到"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的。


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