2012-09-27 3 views
1

제 질문은 iPhone 프로젝트의 활동 표시기 사용에 관한 것입니다. 은 내가 [표시 startAnimating]를 호출하고 프레임이 화면의 하단에 표시 내 비즈니스 로직 코드에서, UIActivityIndicatorViewUIActivityIndicatorView 사용법

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

} 

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

를 포함하는 클래스가 있습니다. 코드는 또한 표시 등 표시가 잘 작동 대부분의 시간

- (void)dealloc 
{ 
    [indicator release]; 

    [super dealloc]; 
} 

그러나 사라 적이 몇 차례가를 방출하는 할당 해제의 방법이 포함되어 있습니다.

항상 stopAnimating 메서드를 명시 적으로 호출해야합니까? 릴리스에서 처리합니까? 올바른 사용법은 무엇입니까?

+0

hidesWhenSpected가 표시기를 YES로 설정하십시오. 정지를 원할 때마다 stopAnimating 메소드를 호출해야합니다. – Shantanu

+0

어떻게 든 자동으로 멈 춥니 다? – cateof

답변

1

stopAnimating: 메서드는 UIActivityIndicatorView 휠을 중지하고 release 개체를 해제합니다.
Objective-C에서 각 개체에는 개체 또는 개체가 사용하는 모든 참조를 추적하는 데 사용되는 내부 카운터가 있습니다. [object retain]은 카운터를 1 씩 증가시키고 [object release]은 카운터를 1 씩 감소시킵니다. 카운터가 0에 도달하면 dealloc이 호출됩니다. release은 메모리 관리에 관한 것이며 stopAnimating:UIActivityIndicatorView의 기능입니다. UIActivityIndicatorView의 애니메이션을 중지하려면 stopAnimating: 방법으로 전화해야합니다. ARC에는 release이 없으므로 ARC을 사용하는 것이 좋습니다.

0

이 객체를 사용할 때 가장 좋은 방법은 stopAnimating을 중지하고 슈퍼 뷰 ([activityObject removeFromsuperview])에서 제거한 다음 마지막으로 해제하는 것입니다. [activityObject release];