2011-07-17 19 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

經過研究,我不認爲有一個乾淨的方法來做到這一點。我最終完成了所有的手勢識別器的子類化,以實現這個共享功能。