我有一个执行耗时操作的方法,例如连续十次调用
[[NSString alloc] initWithContentsOfURL:u];
我想要一个在方法调用之前处于隐藏状态的 UIActivityIndicatorView 来显示和动画,所以我写:
activityIndicator.hidden = NO;
[activityIndicator startAnimating];
在方法的开头
但这当然行不通。 UIActivityIndicatorView 仅在方法结束后才会显示动画。
这是不可接受的。我必须在函数调用期间显示动画。
有人知道该怎么做吗?
也许是 NSOperation? (有人有样本吗?)
我假设您正在此方法中执行一些昂贵的工作,并且在执行该工作时,您希望活动指示器旋转。昂贵的工作应该NOT在主线程上完成(iOS 可能会杀死你的应用程序!)。将您昂贵的工作放在一个单独的线程上:
- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg
...当方法 (aSelector) 完成时,调用:
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
...然后您就停止了活动指示器。
切勿从非主线程中调用任何 UI 代码!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)