2011-07-17 21 views
2

我正在努力将当前iOS应用程序与分析套件集成在一起。我们将在我们的UX分析中使用的分析项目之一是所有手势的完整跟踪(至少可以通过UIGestureRecognizer子类识别)。我的目标是将此挂钩添加到分析套件中,而无需为每个手势识别器划分子类。为所有UIGestureRecognizers添加目标

我最初的想法是编写一个类别,它覆盖了UIGestureRecognizer上的一个现有方法,但是我找不到一个安全的方法来做到这一点(并且我还了解到无法调用该类的现有方法在没有方法调整的情况下执行该方法)。

我的下一个方法是使用poseAs,并简单地将UIGestureRecognizer的子类作为UIGestureRecognizer姿态并在init上添加一个目标。然而,然后我知道poseAs已被弃用(并且已经有一段时间了),所以我也放弃了这种方法。

显然,我可以继承我们正在使用的每个手势识别器,但我觉得没有利用obj-c的动态特性。

有没有一种很好的方法来实现这个目标?

+0

使用Mac OS X v10.5宣布不赞成使用类别构件,并且在64位运行时中不可用。 –

+0

也许没有一个“好”的方法来实现这一点。我相信这就是人们称之为“面向方面的编程”。你可能会从method_exchangeImplementations中获得一些里程,但这会很棘手。我甚至不知道这是否适用于iOS。 – Colin

回答

0

经过研究,我不认为有一个干净的方法来做到这一点。我最终完成了所有的手势识别器的子类化,以实现这个共享功能。