2011-07-17 3 views
2

現在のiOSアプリケーションとアナリティクススイートを統合しようとしています。 UX分析で使用する分析項目の1つは、すべてのジェスチャー(少なくともUIGestureRecognizerサブクラスで認識されるジェスチャー)の完全な追跡です。私の目標は、各ジェスチャーレコグナイザをサブクラス化することなく、このフックをアナリティクススイートに追加することです。すべてのUIGestureRecognizerのターゲットを追加する

私の初期の考えは、UIGestureRecognizer上に既存のメソッドのオーバーライドを持つカテゴリを作成することでしたが、それを行うための安全な方法を見つけることができませんでした(そして、クラスの既存のメソッドメソッドスウィズリングなしのそのメソッドの実装)。

私の次のアプローチは、poseAsを使用し、単にUIGestureRecognizerのサブクラスをUIGestureRecognizerとして持ち、initにターゲットを追加することです。しかし、その後、私はposeAsが非難されていることを知りました(しばらくありました)ので、私はこのアプローチをやめました。

明らかに私が使用しているジェスチャーレコグナイザをサブクラス化できますが、obj-cの動的性質を利用していないと思います。

これを行うには良い方法がありますか?

+0

class posingはMac OS X v10.5では廃止予定であると宣言され、64ビットランタイムでは使用できません。 –

+0

おそらく、それを達成するための「良い」方法はありません。それは人々が私が信じる「アスペクト指向プログラミング」と呼ぶものです。あなたはmethod_exchangeImplementationsからいくらかの走行距離を得ることができるかもしれませんが、それは難しいでしょう。 iOS上で動作するかどうかはわかりません。 – Colin

答えて

0

研究の後、私はこれを行うためのきれいな方法はないと思います。この共有機能を実現するためにジェスチャ認識機能のすべてをサブクラス化しました。

関連する問題