私はそれNSOperationQueueにいくつかを持ってNSOperationsいます(NSInvocationOperations特に)。この操作は、いくつかの計算を実行し、それに応じて(もちろん、を介して)UI要素の状態を変更performSelectorOnMainThread:...します。多くの場合、アニメーションを使用します。
私のUIには、UINavigationViewControllerと、別のビューに移動するためのいくつかのボタンがあります。そのため、計算/アニメーションの進行中に、ユーザーは現在のビューを離れることができます。そして、私が必要としているのは、ユーザーが現在のビューに戻るまで、これをなんとかして停止することです。
私が見つけた唯一の解決策は、スレッドセーフなブールフラグを作成し、それをすべてのスレッドでチェックすることです(while!flag sleep_for_some_time;など)。もっと良いものはありますか?