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