IOS中代理的目的:改变或传递控制链

我在一些网页上看到这句话“代理的目的是改变或传递控制链。允许一个类在某些特定时刻通知到其他类,而不需要获取到那些类的指针。可以减少框架复杂度”。怎么理解这句话,“改变或传递控制链”,什么是控制链,又怎样改变和传递。至于后面那个句话,我知道代理可以在2个UIViewController之间进行传值,为什么“不需要获取到那些类的指针”,谁能举个具体的例子进行说明?
没有人会吗?

代理的目的是改变或传递控制链。允许一个类在某些特定时刻通知到其他类,而不需要获取到那些类的指针。

因为A类的部分方法由代理B实现,比如UIAlertViewSDelegate中含有按钮触发,这样你就不用关心UIAlertView的内部逻辑。

@Leexianke, 改变或传递控制链呢?