[英]Animations make my app crash: How can I remove them?
在我的應用程序中,根據需要創建視圖控制器對象。 當視圖控制器消失時,我可以通過在其視圖上調用-removeFromSuperview來擺脫它,然后將保持屬性設置為nil。
這樣,我的應用程序始終會使用非常低的內存。 但是有一個問題:我在某些視圖控制器中運行着繁重的動畫,每個動畫總是有一個動畫代理,它是self。 現在發生的事情是:當有動畫在運行並且我放下視圖控制器時,它消失了-並且在某些時候當其中一個動畫完成時,它似乎崩潰了。
所以問題是:如何從視圖及其所有子視圖中刪除任何正在運行的動畫?
同意 關於如何添加/刪除子視圖以及如何保留/釋放子視圖,可能會有一些困惑。 確保您遵循以下准則:
// To add
AView * aSubView = [[AView alloc] init];
[aContainerView addSubview:aSubView];
[aSubView release]; // aSubView is retained by aContainerView
...然后
// To remove
[aSubView removeFromSuperview]; // and nothing else!
不要這樣做:
[self removeFromSuperview]; // Don't cut the branch on which you are sitting
(您已經知道!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.