オーバー乗っNSObjectのを、クラス変数を追加
-
19-09-2019 - |
質問
Iが複数渡されたパラメータと遅延後セレクタを実行するために、次のコードを使用しています:
http://nifty-box.com/blog /2006/12/nsinvocation-cleans-code.htmlする
これは非常にうまく動作しますが、私は同等のものをサポートするために、これを拡張する必要があります:
[NSObjectのcancelPreviousPerformRequestsWithTarget:自己
(この場合の目標は、自己ではないでしょうが、私は信じている_UFLatePerformerのインスタンスになります)。
これを実行する方法はありますので、私のビューの割り当て解除は、残りのすべての遅れの性能要求を殺すことができますか?
解決
Macでは、あなたはobjc_setAssociatedObjectを使用することができるだろうが、それはiPhone上に存在しません。
だから、基本的に、あなたがNSObjectのを渡すことをあなたのために、これらの参考文献に保持している管理者のシングルトンのいくつかの種類を必要とし、それはあなたが欲しいものを行います。
私はアクションを実行するための要求を取り入れたシングルトンクラスを書いて、アクションが行われることになったときに起動タイマーを開始した似たようなやっていたときに - 問題の要求であった場合、私のマネージャークラスが決めたその時にまだ有効で、そうであれば、アクションを解雇しました。私は、このように効果的にタイマーを取り消すことができ、さらに古いタイマーは、それが無効で実行するように要求されたアクションを焼成したとき、本当に、それだけで新しいタイマーをしたが、いなかったタイマーをリセットするには管理者に伝えることができます。
だから、基本的にはタイマーは、コールの詳細を含む辞書のエントリにつながった、ちょうど要求IDでシングルトンをコールバックしてます。