iOS面试题:NSNotification、Block、Delegate和KVO的区别

  • 代理是一种回调机制,且是一对一的关系,通知是一对多的关系,一个对向所有的观察者提供变更通知;
  • 效率:Delegate比NSNOtification高;
  • Delegate和Block一般是一对一的通信;
  • Delegate需要定义协议方法,代理对象实现协议方法,并且需要建立代理关系才可以实现通信;
  • Block:Block更加简洁,不需要定义繁琐的协议方法,但通信事件比较多的话,建议使用Delegate;

更多:iOS面试题合集

你可能感兴趣的:(iOS面试题:NSNotification、Block、Delegate和KVO的区别)