如何理解 iOS Delegate 设计模式
1个回答
展开全部
好的,我喜欢这个问题,等我喝杯水好好聊聊。
iOS delegate设计模式,在OC或者swift里都是很常见的。比如最常用的tableview的delegate和datasource这两个代理,实现之后就能使用它们的代理方法。
OK,有细想过为什么吗?为什么我们在cellForRow实现的方法就能改变cell的内容了呢?
举个例子,我每天都要打扫房间,但是呢,我比较懒,就想雇佣个人给我打扫房间,于是delegate就来了,某个年轻漂亮的MM应聘了这活儿。她把delegate设成了self,于是呢,就每天给我打扫房间(实现代理方法),最后得到的结果是我的房间干净了,她使用了我的代理方法。
代理方法的目的,就是为了传值,把代理对象需要传递的值,放进代理方法里,当运行到某个状况的时候,我们把得到的值丢进我们的代理方法里。一旦有人代理了我们,成了代理对象,她就能获取到我们放到代理方法的值,也就完成了传值。
OK 打完收工
iOS delegate设计模式,在OC或者swift里都是很常见的。比如最常用的tableview的delegate和datasource这两个代理,实现之后就能使用它们的代理方法。
OK,有细想过为什么吗?为什么我们在cellForRow实现的方法就能改变cell的内容了呢?
举个例子,我每天都要打扫房间,但是呢,我比较懒,就想雇佣个人给我打扫房间,于是delegate就来了,某个年轻漂亮的MM应聘了这活儿。她把delegate设成了self,于是呢,就每天给我打扫房间(实现代理方法),最后得到的结果是我的房间干净了,她使用了我的代理方法。
代理方法的目的,就是为了传值,把代理对象需要传递的值,放进代理方法里,当运行到某个状况的时候,我们把得到的值丢进我们的代理方法里。一旦有人代理了我们,成了代理对象,她就能获取到我们放到代理方法的值,也就完成了传值。
OK 打完收工
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询