0
基本的に私は、バックグラウンドスレッドを作成するために探しているのは、通知が投稿されるのを見て、投稿されたときにその上で処理を行うことです。私はこれを行う方法を見つけることができていない。どんな助け?ありがとう。バックグラウンドスレッドでの通知とプロセスの監視方法
基本的に私は、バックグラウンドスレッドを作成するために探しているのは、通知が投稿されるのを見て、投稿されたときにその上で処理を行うことです。私はこれを行う方法を見つけることができていない。どんな助け?ありがとう。バックグラウンドスレッドでの通知とプロセスの監視方法
最も単純な方法はおそらくNSNotificationCenterの-addObserverForName:object:queue:usingBlockです。助けのための
...
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(processNotificationInBackground:) name:TheNameOfTheNotification object:nil];
...
- (void) processNotificationInBackground:(NSNotification *)not {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
/* your background notification processing code goes here */
/* note that you should transfer control back to the main queue if you need to update your UI */
}
}
感謝を:それはあなたのニーズを満たしていない場合ので、ここでの代替だ、私は最初のことをしようとするだろうが、私はそれにいくつかの問題があったと信じています。私はこれが正しい方向への一歩だと考えていますが、これらのメソッドを実装することでわかることから、通知を処理してバックグラウンドスレッドをディスパッチするためにメイン(または実装されているスレッド)をブロックする必要があります。私は通知の監視と常に実行中のバックグラウンドスレッドでの処理の両方を行うことをお勧めします。 – ambientdiscourse
私はその点を知っていますか(あなたのメインスレッドはビーチボールを避けるためにブロック解除されてはいけませんか?)、バックグラウンドスレッドの通知センターに通知を投稿すると、スレッドをメインスレッドにシャットダウンするのではなく、あなたがする必要があるのは、あなたの通知*ポスター*をバックグラウンドスレッドで行うことです。これは簡単です。しかし、二重チェック。その動作が保証されているかどうかはわかりません。 –
私のメインスレッドをブロックしているわけではありません。メインスレッドには、中断したくない本質的なことがあります。しかし、助けてくれてありがとう。私はあなたがバックグラウンドスレッドに投稿するのが正しいと思います。ありがとう! – ambientdiscourse