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