我正在尝试在后台线程上执行操作。过去我用过
[self performSelectorInBackground: @selector (getSetDisplay) withObject: nil];
实现这一目标。但是,我已注册此功能在NSNotification中执行,我需要为UIActivityIndicator设置动画。 UIActivityIndicator(根据我的理解)需要在主线程上运行,但是这个通知也是这样做并阻止它。
- (IBAction) btnRefresh_clicked :(id)sender{
[activity startAnimating];
[navigationUpdateFromDetail setUpdate: NO];
[navigationUpdateFromDetail.locationManager startUpdatingLocation];
[[NSNotificationCenter defaultCenter] addObserver: self selector : @selector (getSetDiplay) name: @"LocationUpdated" object: nil];
}
有没有人知道如何在后台线程上运行?谢谢你的进步。
答案 0 :(得分:4)
看一下NSObject方法performSelectorOnMainThread:withObject:waitUntilDone:
- 它允许你在主线程上运行一个方法,比如startAnimating
,同时仍然将你当前正在执行的方法保留在后台。