2

我正在尝试在后台线程上执行操作。过去我用过

  [self performSelectorInBackground: @selector (getSetDisplay) withObject: nil];

来实现这一点。但是,我已经注册了这个函数以在 NSNotification 中执行,我需要为 UIActivityIndi​​cator 设置动画。UIActivityIndi​​cator (据我了解)需要在主线程上运行,但此通知也在执行此操作并阻止它。

- (IBAction) btnRefresh_clicked :(id)sender{

[activity startAnimating];

[navigationUpdateFromDetail setUpdate: NO];

[navigationUpdateFromDetail.locationManager startUpdatingLocation];

[[NSNotificationCenter defaultCenter] addObserver: self selector : @selector   (getSetDiplay) name: @"LocationUpdated" object: nil];

}   

有没有人知道如何让它在后台线程上运行?谢谢提前。

4

1 回答 1

4

看一下 NSObject 方法performSelectorOnMainThread:withObject:waitUntilDone:- 它允许您在主线程上运行一个方法,例如startAnimating,同时仍将当前执行的方法保留在后台。

于 2010-01-04T12:26:51.147 回答