IOS 中 通过 事件交换的方式 来捕获 按钮事件

          一个oc类的+load方法是在app开始运行时首先会被调用执行的方法,也就是说,当app被点击,再被系统加载app程序进入内存后,首先会实例化所有类到代码或全局区(这里不做深究),而加载所有类的设置时,就会调用类的load方法,如果要给一个类做方法交换,则一般情况放在load方法中来操作。方法交换一旦完成,则程序运行中全局生效。

            一个类B可能有继承来的super类A,还有可能有自己的分类C,如果分类中也实现了load方法,它们的调用顺序是怎么样的呢?系统首先会调用super的load方法,然后再调用类B自身的load方法,再次才会调用类B的分类C的load方法,也即是说真个继承链包括分类扩展中的load方法都会被执行到,只是执行顺序需要关注一下。load方法不同于其他覆盖方法在分类中的体现,如果类B本身中的其他方法在分类C中被重写,则会优先执行分类C中的。但是load不同,都会被执行到,因为这是类加载设置的方法

好了,不罗嗦,开始撸代码~

先创建 UIControl分类  因为 我是对继承UIControl 的 类 进行事件捕获

如:

originalSelector  是系统 事件 

swizzledSelector 是 我们自定义 需要替换  originalSelector 的事件

这个 是 封装 事件 交换的方法 等下代码 会贴出 

方法交换

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,023评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,401评论 30 472
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,216评论 18 399
  • 导语:如果用一个词来形容创业,你会用哪个呢?相信你会想到一个词--九死一生。为什么?因为我们听过看过不少的创业者都...
    三马视界阅读 3,749评论 0 0

友情链接更多精彩内容