现实中的案例说明:
举一个app外卖的案例,来简单理解一下代理协议的概念。
其实在生活中(工作和学习)我们经常会遇到叫外卖的场景。作为消费者角色其实过程很简单
- 打开app
- 搜索餐饮(或周边推荐)
- 下单付款,等待……
但这里很多人并不曾想,平台(app外卖)和骑士之间的关系
注意:我这里提到了【骑士】
平台负责管理app和收钱,结算(商户服务等)一系列运营手段……
骑士负责送餐(前提是要在app平台做好相关登记和签署平台协议)
进入正题:
先要明确两个人之间的关系是什么????这点很重要~
委托人:平台(实际想要达到某个目的的人)
代理人:骑士(实际去干活的人)
代理协议就可以理解为平台和骑士之间的相互关系?
平台不管做饭做菜的事情。但可以管理别的事物
骑士也不管做饭做菜的事情。但可以帮平台完成一个订单的送达。
代理协议也正是这个道理
貌似两者都很难完成的一件事情,但是其中有一个人是可以通过灵活的变通,完成一项任务。
那么我们来说说ios代理协议
首先我们想让一个类(控制器)完成一件事,这件事情控制器不能直接去完成怎么办?我们来想一下app平台怎么做的
解决方案:
1、拟订一个协议(类和控制器拟订协议和方法)
这个协议是对外公开的,是给所有想当骑士的人都可以看见的,可不是什么内部文件,只能内部看哦!~那么协议应该写在.h还是.m文件呢?
2、向外部召集骑士(设置代理属性) ,这一步是不是也是对外公开的呢??
3、有人应招了,那就简单聊一下。如果没什么问题,平台会详细的告诉应招人需要如何去做?注意一个细节:一般平台会要求,如果作为骑士会享有平台的一些资源和穿戴平台的制定的服装(方法的实现,一般在方法实现中将委托人作为参数带上,当然根据情况,也可以不带)
这里还有一个细节~ 先要判断一下应招人有没有正在做别人家的骑士工作??你想到什么??
怎么做一个骑士呢?
1、拿到平台的相关协议看一下,签署协议(遵守协议)
2、签署协议之后就拿到平台授权的骑士特权(设置代理)
3、出门下楼,就可以执行第一单了(实现方法)
总结一下:
首先要明确谁是委托人,谁是代理人
A(委托人)
B(代理人)
在A.h的文件中要做三件事
1.设置协议
2.拟订方法
3.设置代理属性
在A.m的文件中需要代理的地方进行调用方法。(注意要先判断代理是否有执行过这个方法)
在B.h的文件中我们什么都不做
在B.m的文件中要做三件事情
1.遵守协议
2.设为代理
3.实现相应方法。
over
网友评论