私のsecondViewでは、これを行います:
-(void)viewDidDisappear:(BOOL)animated
{
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
dbq = [[dbqueries alloc] init];
[[NSNotificationCenter defaultCenter] postNotificationName:@"abc" object:nil];
//disabling a button and turning a progressView in the mainView on
dispatch_async(queue, ^{
//WORK
});
}
通知はボタンを無効にし、mainView の progressView (progressView には ActivityIndicator があります) を開始させます。作業が完了した領域では、メソッドが 3 ~ 6 回呼び出され、それらがすべて完了したら、別の通知を mainView に送信してボタンを有効にし、progressView を停止します。奇妙なことに、ボタンは適切なタイミングで有効になりますが、progressView は数秒後にランダムに停止します。
- (void)enableStartButton
{
NSLog(@"enableStartButton");
self.startARButton.enabled = YES;
[self.progressView setHidden:YES];
[[self.progressView.subviews objectAtIndex:0] stopAnimating];
}
ここで何が起こっているのか本当にわかりません、事前に感謝します!