UIActivityIndi​​cator查看正确的用法

时间:2012-09-27 13:17:02

标签: iphone ios uiactivityindicatorview

我的问题是在iPhone项目中使用活动指示器。 我有一个包含UIActivityIndi​​catorView

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

}

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

在我的业务逻辑代码中,我调用[indicator startAnimating],框架出现在屏幕的底部。该代码还包含一个释放指标的dealloc方法

- (void)dealloc 
{
    [indicator release];

    [super dealloc];
}

大部分时间指标运作良好,但有一些情况永远不会消失。

我是否总是需要显式调用stopAnimating方法?该版本是否处理它? 适当的用法是什么?

2 个答案:

答案 0 :(得分:1)

stopAnimating:方法停止UIActivityIndicatorView的轮子并release释放对象。
在Objective-C中,每个对象都有一个内部计数器,用于跟踪所有对象对象或对象使用的引用。 [object retain]将计数器递增1并且[object release]将计数器递减1.当计数器达到零时,然后调用dealloc。 release是关于内存管理的,stopAnimating:UIActivityIndicatorView的功能。 因此,如果您想停止为UIActivityIndicatorView制作动画,则需要调用stopAnimating:方法。在 ARC 中,不必release,最好使用ARC

答案 1 :(得分:0)

当您使用此对象时,最好的方法是stopAnimating,当您想要停止时,从超级视图中删除([activityObject removeFromsuperview])并最终释放它。 [activityObject release];