私は現在これをやっています:
timer = [NSTimer timerWithTimeInterval:timeUntilAction target:self selector:@selector(actionToPerform) userInfo:nil repeats:NO];
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop addTimer:timer forMode:NSRunLoopCommonModes];
しかし、そのタイマーを無効にしたいと思います。invalidate を呼び出しても何も起こらないようで、他に何を試せばよいかわかりません。または で確認できるインスタンス メソッドからタイマーを削除できないためNSRunLoop
です。NSTimer
NSRunLoop
メソッド (actionToPerform) を特定の遅延 (timeUntilAction) の後に起動するように設定する方法を教えてください。ただし、特定のユーザー インタラクションが与えられた場合、アクションをキャンセルする機能はまだあります。また、ユーザーは、最初のタイマー (キャンセルされたタイマー) がオフになるようにスケジュールされる前に、タイマーを再開できる必要があります。
どんな提案も素晴らしいでしょう!
ありがとう