我的问题是在iPhone项目中使用活动指示器。 我有一个包含UIActivityIndicatorView
的类@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方法?该版本是否处理它? 适当的用法是什么?
答案 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];