[解決済み] キューに入れられたperformSelector:afterDelayの呼び出しをキャンセルする
2022-08-27 18:39:39
質問
を呼び出したときに、イベントスタックやタイマスタック(あるいは API が利用するどんなメカニズムであれ)から、すでにキューに入っているセレクタイベントをキャンセルすることが可能かどうか、誰か知っていますか?
performSelector:withObject:afterDelay
?
私はこのイベント スタックを使用して、TabBar タブ内の画像の属性を変更し、1 つのすばやく実行される for ループで最大 10 秒分の変更をキューに入れることがありました...おそらく 5 ミリ秒程度です。
たとえば、タブ #4 が有効になるとすぐに表示される画像の変更をキューに入れ、その後、ユーザーがすばやくタブ #3 に切り替え、すぐにタブ #4 に戻るとします。
そこで、新しいスタックを置く前に、古い変更のスタックをキャンセルする何らかの方法が必要でした...
私はこのクエリを過去形で書いています。なぜなら、再生関数に鷹の目のイベントフィルターを追加することによって、この問題に対する代替ソリューションをすでに考え出したからです。しかし、私はまだイベントキャンセルが可能かどうかに興味があります。)
どのように解決するのですか?
[NSObject cancelPreviousPerformRequestsWithTarget:]
または
[NSObject cancelPreviousPerformRequestsWithTarget:selector:object:]
は
target
はその上にある元のオブジェクトで
performSelector:afterDelay:
が呼び出された元のオブジェクトです。
例えば
// schedule the selector
[self performSelector:@selector(mySel:) withObject:nil afterDelay:5.0];
// cancel the above call (and any others on self)
[NSObject cancelPreviousPerformRequestsWithTarget:self];
参照
リンゴの資料
の末尾にあります。
performSelector:withObject:afterDelay:
の記述の最後にあります。
関連
-
[解決済み] 現在の日付から7日分を差し引いた日数
-
[解決済み] Xcodeはクラッシュの原因となる行を表示しない
-
[解決済み] NSPredicate: NSDateプロパティの日によるオブジェクトのフィルタリング
-
[解決済み] 複数のサブクラスで1つのストーリーボードuiviewcontrollerを使用する方法
-
[解決済み] ARCを使用する場合、deallocでプロパティをnilに設定するのですか?
-
[解決済み] Objective-Cのセレクタ?
-
[解決済み] NSURLをローカルファイルのパスに変換する
-
[解決済み] このgdbの出力は何を意味しているのでしょうか?
-
[解決済み] ベストプラクティス - 自分のプロジェクト/アプリのためのNSErrorドメインとコード
-
[解決済み] キーチェーンのアイテムは何がユニークなのか(iOSの場合)?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在の日付から7日分を差し引いた日数
-
[解決済み] Objective-Cで配列に結合する
-
[解決済み] 角括弧 < > と引用符 " " を使って #import する。
-
[解決済み] RootViewControllerのスイッチングアニメーション
-
[解決済み] Objective-CのクラスでSwiftのプロトコルをインポートする
-
[解決済み] NSPredicate: NSDateプロパティの日によるオブジェクトのフィルタリング
-
[解決済み] 複数のサブクラスで1つのストーリーボードuiviewcontrollerを使用する方法
-
[解決済み] Objective-Cでコールバックを実行する方法
-
[解決済み] なぜObjective-Cはプライベートメソッドをサポートしないのですか?
-
[解決済み] ベストプラクティス - 自分のプロジェクト/アプリのためのNSErrorドメインとコード