方案一:使用Runtime的方式追踪点击的按钮
特点:需要对每个button进行tag编号,对手势点击、tableView的点击要单独配置,比较繁琐
方案二:使用面向切面编程AOP,对现有代码不入侵
1、在不修改源代码的情况下,通过运行时给程序添加统一功能的技术,可以用作日志记录,性能统计等
2、无需对每个button进行tag编号,创建button后只需在新建的plist中配置button对应的方法名和对应的事件 ID就行
3、适用于Tap点击手势,使用时设置事件ID,和button的使用方法一样
4、button不支持直接在block里面写事件的方式,但可以在block里面调用方法或者需要统一写成下面的方式