iOS 扩展&代理&通知

  • 2018-12-13
  • 180
  • 0
  • 0

扩展

用途

  • 声明私有属性
  • 声明私有成员变量
  • 声明私有方法

特点

注意与 category 的区别
* 编译时决议
* 只以声明的形式存在,多数情况下寄生在宿主类的. m
* 不能为系统类添加扩展

代理

  • 准确的来说是一种软件设计模式, 代理模式
  • iOS 中, 系统为我们提供了@ protocol 形式
  • 代理是一对一的

  • 协议有必须要实现的(@require), 不惜要实现的(option)

  • 一般用 weak 来规避循环引用

通知

  • 使用观察者模式来实现用于跨层传递消息的机制
  • 传递方式 一对多
    通知

评论

还没有任何评论,你来说两句吧

你必须 登录 才能发表评论.