iPhone OS機能を停止/キャンセルするように伝える方法は?
-
28-09-2019 - |
質問
ユーザーが画面にボタンをタップすると始まるアクションがあります(例:「インポート」)。同時に、Uitoolbarが画面の下部に表示され、ユーザーがこのアクションをキャンセルするオプションを提供します。キャンセルメッセージを初期関数に適切に送信するにはどうすればよいですか?ユーザーが「キャンセル」にヒットした場合、「インポート」を続行したくありません。理論的には、それを別のスレッドとして設定することができました(それは殺すことができました)が、それがそれ自体を掃除できるようにこれを行うための適切な方法が何であるかはわかりません。ユーザーがすでに開始した機能を「殺す」ことができる他の戦略は何ですか?
解決
次のようなものを使用して別の操作を作成します。
NSOperationQueue* queue = [[[NSOperationQueue alloc] init] autorelease];
[queue addOperation: [[[NSInvocationOperation alloc] initWithTarget: self
selector: @selector(_backgroundWorker)
object: nil] autorelease]];
このようにして、_backgroundworkerはメインUIスレッドを停止せずに実行されます。
1つのキャンセルボタンが押され、内部変数を設定し、_backgroundworker内でその値を確認します。
所属していません StackOverflow