如何理解 iOS Delegate 设计模式

 我来答
好奇星球大魔王
2016-08-19 · 观世界变化,察人生百态
好奇星球大魔王
采纳数:178 获赞数:539

向TA提问 私信TA
展开全部
好的,我喜欢这个问题,等我喝杯水好好聊聊。

iOS delegate设计模式,在OC或者swift里都是很常见的。比如最常用的tableview的delegate和datasource这两个代理,实现之后就能使用它们的代理方法。
OK,有细想过为什么吗?为什么我们在cellForRow实现的方法就能改变cell的内容了呢?

举个例子,我每天都要打扫房间,但是呢,我比较懒,就想雇佣个人给我打扫房间,于是delegate就来了,某个年轻漂亮的MM应聘了这活儿。她把delegate设成了self,于是呢,就每天给我打扫房间(实现代理方法),最后得到的结果是我的房间干净了,她使用了我的代理方法。

代理方法的目的,就是为了传值,把代理对象需要传递的值,放进代理方法里,当运行到某个状况的时候,我们把得到的值丢进我们的代理方法里。一旦有人代理了我们,成了代理对象,她就能获取到我们放到代理方法的值,也就完成了传值。

OK 打完收工
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式