1、原理概述
在本章,我们主要介绍如何实现控件点击事件 ($AppClick)的全埋点。在介绍如何实现之前,我们需要 先了解一下,在 UIKit 框架下,处理点击或拖动事件的 Target-Action 设计模式。
(1)Target-Action
Target-Action,也叫目标-动作模式,即当某个事件发生 的时候,调用特定对象的特定方法。
比如,在 LoginViewController 页面,有一个按钮,点击 按 钮 时,会 调 用 LoginViewController 里 的 - loginBtnOnClick 方法,“特定对象”就是 Target,“特定 方法”就是 Action。也即 Target 是 LoginViewController, Action 是 - loginBtnOnClick 方法。
Target-Action 设计模式主要包含两个部分:
- Target 对象:接收消息的对象
- Action 方法:用于表示需要调用的方法
Target 对象可以是任意类型的对象。但是在 iOS 应用程序 中,通常情况下会是一个控制器,而触发事件的对象和 Target 对象一样,也可以是任意对象。例如,手势识别器 UIGestureRecognizer 就可以在识别到手势后,将消息发 送给另一个对象。Target-Action 设计模式,最常见的应 用场景还是在控件中。iOS 中的控件都是 UIControl 类或 者其子类,当用户在操作这些控件时,会将消息发送到指 定的对象(Target),而对应的 Action 方法必须符合以下 几种形式之一:
- (void)doSomething;
- (void)doSomething:(id)sender;
- (void)doSomething:(id)sender forEvent:(UIEvent *)event;
- (IBAction)doSomething;
- (IBAction)doSomething:(id)sender;
- (IBAction)doSomething:(id)sender forE