かなり基本的な問題です。performSelectorの停止:実行中から
[self performSelector:@selector(startSequence:) withObject:nil afterDelay:1.0];
しかし、これを呼び出した後にこれを停止する方法はありますか? ありがとうございました ディスコ
かなり基本的な問題です。performSelectorの停止:実行中から
[self performSelector:@selector(startSequence:) withObject:nil afterDelay:1.0];
しかし、これを呼び出した後にこれを停止する方法はありますか? ありがとうございました ディスコ
+[NSObject cancelPreviousPerformRequestsWithTarget:]
が必要です。待機中の複数の実行要求がある場合、すべての実行要求が取り消されます。
細かい制御が必要な場合は、+[NSObject cancelPreviousPerformRequestsWithTarget:selector:object:]
を使用できます。述語と一致するものはすべて取り消されます。複数の同一のリクエストが待機している場合は、1つをキャンセルするメカニズムはありません。
確かにありますが、
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(startSequence:) object:nil];
メインスレッドで 'performSelector:afterDelay:'を呼び出す場合は、メインスレッドでも 'cancelPreviousPerformRequestsWithTarget:'を必ず呼び出すようにしてください。それ以外の場合はキャンセルされません! – malex