ios中监听事件总共有几种方式?

1.代理

使用代理传递消息是为了在控制器和视图之间解藕,让视图能够被多个控制器复用,例如 UITableView

但是,如果视图仅仅只是为了封装代码,而从控制器中剥离出来的,并且能够确认该视图不会被其他控制器引用,则可以直接通过 addTarget 的方式为该视图中的按钮添加监听方法

这样做的代价是耦合度高,控制器和视图绑定在一起,但是会省略部分冗余代码

代理的使用:

swift 中代理的使用基本与 OC 相同

需要注意的是,定义协议时,需要继承自 NSObjectProtocol

代理属性需要使用 weak 防止出现循环引用

2.通知

3.block

4.KVO

5.addTarget

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是我个人的学习笔记 , 如有不同见解欢迎评论交流 .( GeekBand-极客班 http://geekband...
    JohnnyB0Y阅读 12,932评论 1 11
  • 设计模式 1.delegate和notification什么区别,什么情况使用? 2.描述一下KVO和KVC。 K...
    丶逐渐阅读 5,941评论 3 2
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,331评论 30 472
  • 电影妖猫传描绘出一幅大唐盛世之景,不似中国古代的水墨画般留白间浓重相宜,倒如西方油彩般浓烈,若以此幻境之炽热突出破...
    ada2016阅读 3,712评论 0 51
  • 昨天有个朋友跟我们说,她家附近那边的喜乐会招募舞蹈演员,因为自己还是个学生,而且又对跳舞学动作这些挺喜欢的,不妨兼...
    文艺的段女王阅读 2,806评论 0 1