代理:一般控件用的比较多,其实也可以用block实现,如果实现的接口比较 多得话,建议用代理,如UITableView。
通知:这东西是全局的,而且是同步的,如果你要全局发送消息,并且做的事情时间不长,不会阻塞线程的话,建议使用。
KVO:KVO是建立在KVC的基础之上的,它通过KeyPath 观察对象的值,当值发生变化的时候会收到通知。比如,你需要监听UITableView的ContentOffSet,那么当TableView滑动的时候,就会不停的收到contentOffSet Point值。你要监听某一对象的值的时候,建议使用。