(一)区别
1.delegate目的明确,可控性更强,传递消息的同时可以得到返回信息,这层来说可以双向,但是代码量大,效率比通知高;
特点:一对一,个人理解不算好坏,看用在什么地方;
用处:因此他更方便的用于规范性强的地方,如封装库
2.block:方便,简洁,灵活,开发效率高,代码量也少;也是一对一;
注意:避免循环引用
3.NotificationCenter通知:一对多,不方便管理,需要移除,是全局的,关联性不强;
4.kvo观察者模式:实时性更强,类似于通知中心,属性发生变化了,就通知外面监听者,K他是直接通知到观察对象,逻辑清晰,实现简单;