何为代理,如何代理。

代理:受当事人委托,代表当事人在授权范围内进行活动!

所以要搞清楚,谁是委托人(人家的事情多,没有时间,所以请个代理,或者为了方便,或者委托人就是不想自己搞,请个人弄),谁是代理者。

我们首先来看一个例子,两个视图,view1与view2; view1有一个next的按钮,当点击的时候,进入视图view2; view1上有一个标签label,view2上面有一个button;当点击button 时,label要显示 hao; 那么这个简单的例子可以通过什么来实现呢?

 

我们先不用代理的方法: 法1:

核心点:在view2上面的时候如何返回到对view1上的视图进行指点江山。显然我们如果得到了view1的指针就行;所以,我们可以在view1. next button在点击的时候,实例化一个要被push进去的view2;并且view2的previous(属性,指向view1) 定为self. 因此我们就可以把它给找到了。 我们在view2中点击就可以出现相同的情况。

法2:

用代理的方法:

那么搞清谁是委托人:委托人显然是

                                        谁是代理人

 

 

理解一:

这样来说吧!就好比有一个协议叫做 跳舞, 牛,猪

牛说它来规定这个协议的方法,比如 怎么跳,左三圈,右三圈;

只是规定了方法;

那么这个时候猪里面想看牛跳舞,猪可不想跳,猪就想:有个牛已经有了方法,我让他来跳不就行了吗?怎么办呢?

猪在自己的属性中定义了一个 遵守跳舞协议的一个 家伙叫做delegate;

然后将牛给了delegate; 那么我直接拿着我的delegte去调用方法就行了。

比如【delegate dance】;牛就踏歌起舞了---------------------------------------------------