如何在终端用户中快速获取总计应用程序中的触摸/动作次数

问题描述:

我想要在我的应用程序中显示所有触摸和按钮动作,以在用户界面中显示,例如用户完成的动作数量。这是一个Swift应用程序。如何在终端用户中快速获取总计应用程序中的触摸/动作次数

我试着用下面的代码:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
     UtilityClass.sharedInstance.touchesCount += 1 
     print(UtilityClass.sharedInstance.touchesCount) 
    } 

但它仅调用UIView触摸事件,但不要求UIButton行动,有没有其他的解决方案,以达到我的要求。

如果它的单个按钮动作,我可以调用这个整数来增加,但是,我的应用程序中有一些按钮动作,这就是为什么我在这里发布这个。

+0

I thi您需要使用'@ IBAction'来计算按钮触摸次数。 – 3stud1ant3

+0

请检查更新的问题。 –

+0

你可以在每个按钮的操作中尝试相同的代码'UtilityClass.sharedInstance.touchesCount + = 1',对吗? – 3stud1ant3

尝试添加到您的项目

extension UIButton { 
    open override func sendAction(_ action: Selector, to target: Any?, for event: UIEvent?) { 
     super.sendAction(action, to: target, for: event) 
     UtilityClass.sharedInstance.touchesCount += 1 
     print(UtilityClass.sharedInstance.touchesCount) 
    } 
} 

编辑:

class ViewController: UIViewController { 
    @IBAction func buttonAction(_ sender: Any) { 
    } 
} 
extension UIButton { 
    open override func sendAction(_ action: Selector, to target: Any?, for event: UIEvent?) { 
     super.sendAction(action, to: target, for: event) 
     print("1111") 
    } 
} 

以上是我完整的测试代码,我有一个出口按钮,这是UIButton,我每次点击按钮的动作,它将打印1111,如果您的按钮类是UIButton的自定义子类,请将extension UIButton {更改为extension YourCustomButtonName {

+0

它显示编译错误,在哪里声明? –

+0

不好意思,请检查编辑版本。 –

+0

@AnilkumariOSdeveloper在类外的任何文件中声明它。 –