swift 中的最终用户如何在我的总应用程序中获取 touches/actions 的计数

How get count number of touches/actions in my total app by end user in swift

我想让我的应用程序中的所有触摸和按钮操作计数显示在 UI 中,例如到目前为止用户完成的操作数。这是一个 Swift 应用程序。

我尝试使用以下代码:

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

但是只调用了UIView的touches事件,没有调用UIButton的action,有没有其他的方案可以达到我的要求

如果是单个按钮操作,我可以调用这个整数来增加,但是,我的应用程序中有多个按钮操作,这就是我在这里发布的原因。

尝试将其添加到您的项目中

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,如果你的按钮class 是 UIButton 的自定义子 class,请将 extension UIButton { 更改为 extension YourCustomButtonName {