「startTask」という void メソッドがあります。
ボタンをクリックすると、次のようにバックグラウンドで「startTask」を起動します。
[self performSelectorInBackground:@selector(startTask) withObject:nil];
ボタンがクリックされたときにこのプロセスをキャンセルしたいのですが、これを行う方法がわかりません。誰か助けてください。
前もって感謝します
「startTask」という void メソッドがあります。
ボタンをクリックすると、次のようにバックグラウンドで「startTask」を起動します。
[self performSelectorInBackground:@selector(startTask) withObject:nil];
ボタンがクリックされたときにこのプロセスをキャンセルしたいのですが、これを行う方法がわかりません。誰か助けてください。
前もって感謝します
NSOperationとNSOperationQueueを使用します。これらはキャンセルを可能にします。スレッドは、シグナルを取得するためにさらに多くの作業を必要とします。
編集-例として
NSOperationをサブクラス化する単純なクラスを作成します
実装では、-(void)main(){
}
メソッドを実装します。このメソッドは、操作の実行時に呼び出されます。
起動するファイルに、NSOperationQueueのメンバー変数を作成します。
タスクを起動する場合は、操作を作成してキューに追加します。非同期で動作し、キャンセルできます。
iOSの質問ですが、iPhoneのCocoaNSOperationでも同じだと思います