2012-09-27 57 views
1

我的問題關於在iPhone項目中使用活動指標。 我有一個包含一個UIActivityIndi​​catorViewUIActivityIndi​​catorView正確使用

@interface StatusView : UIView 
{ 
    UIActivityIndicatorView *indicator; 
    UILabel *textLabel; 

} 

- (id)initWithFrame:(CGRect)frame Text:(NSString*)text andShowIndicator:(BOOL)value; 

以我業務邏輯代碼我調用[指示器startAnimating]和幀顯示在屏幕的底部的一個類。該代碼還包含了釋放指示

- (void)dealloc 
{ 
    [indicator release]; 

    [super dealloc]; 
} 

大部分指標運行良好的時候,但也有永不消失的幾個場合dealloc方法。

我是否總是需要顯式調用stopAnimating方法?這個版本處理它嗎? 什麼是正確的用法?

+0

將指示器隱藏設置爲YES。每次你想停止時你必須調用stopAnimating方法。 – Shantanu

+0

它會自動停止嗎? – cateof

回答

1

stopAnimating:方法停止輪UIActivityIndicatorViewrelease釋放對象。
在Objective-C中,每個對象都有一個內部計數器,用於跟蹤對象或對象所使用的所有引用。 [object retain]將計數器加1並且[object release]將計數器遞減1.當計數器達到零時,dealloc被調用。 release是關於內存管理,而stopAnimating:UIActivityIndicatorView的功能。 所以如果你想停止動畫你的UIActivityIndicatorView,你將不得不打電話stopAnimating:方法。在ARC不必做release所以更好地使用ARC

0

當你使用這個對象時,最好的方法是stopAnimating當你想停止,從超級視圖([activityObject removeFromsuperview])中移除並最終釋放它。 [activityObject發佈];

相關問題